library(dplyr)
library(tidyr)
library(Rmisc)
library(lubridate)
library(ggplot2)
library(car)
library(MASS)
library(mgcv)
library(MuMIn)
library(emmeans)
library(ggrepel)
library(effects)
library(lme4)
library(nlme)
library(sjPlot)
library(drc)
library(scales)
library(xfun)

#KBay pairs physiology

phys<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Phys data for R with Teegan no Oct-Nov 2020 and only peak bleaching.csv", strip.white=T)
phys$Date<- as.Date(phys$Date, format = "%Y-%m-%d")
phys$Bleach<-as.factor(phys$Bleach)
phys$Months<-as.factor(phys$Months)
phys$Species<-as.factor(phys$Species)
phys$Coral_ID<-as.factor(phys$Coral_ID)
phys
unique(phys$Months)
[1] 10 12 17 20 24 29 35 0 
Levels: 0 10 12 17 20 24 29 35
phys_stress= filter(phys, Months %in% c("0","12","24","35"))
phys_stress

##Endolothics

endolith<- glm(Endolithic ~ Species*Bleach*Months, data = phys, family = "binomial")
#summary(endolith)
car::Anova(endolith, type=3)
Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
Analysis of Deviance Table (Type III tests)

Response: Endolithic
                      LR Chisq Df Pr(>Chisq)   
Species                 8.5104  1   0.003531 **
Bleach                  0.0000  1   1.000000   
Months                  4.1128  5   0.533296   
Species:Bleach          0.0000  1   0.999983   
Species:Months          4.4367  5   0.488398   
Bleach:Months           1.8132  5   0.874335   
Species:Bleach:Months   1.2610  5   0.938894   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
endofig<-ggplot(phys, aes(y=Endolithic, x=Date, color=Bleach, fill=Bleach))+ 
  geom_jitter()+
  #geom_smooth(method="loess")+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Presence~of~endolithic~algae))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        #legend.position=c(0.15,0.85),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
endofig

##Protein ###Normality

hist(phys$Protein_mg.cm.2)

protein.lm<- lm(Protein_mg.cm.2~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(protein.lm, ask=FALSE, which=1:6)

library(MuMIn)
summary(protein.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)   Residual
StdDev:  0.04101892 0.09504707

Fixed effects: Protein_mg.cm.2 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.709                                                                                
BleachNon-bleach                                   -0.707  0.502                                                                         
Months10                                           -0.585  0.415  0.414                                                                  
Months12                                           -0.650  0.461  0.460  0.450                                                           
Months17                                           -0.650  0.461  0.460  0.450  0.500                                                    
Months20                                           -0.631  0.448  0.446  0.435  0.486  0.486                                             
Months24                                           -0.631  0.448  0.446  0.442  0.485  0.485  0.471                                      
Months29                                           -0.631  0.448  0.446  0.442  0.485  0.485  0.471  0.477                               
Months35                                           -0.496  0.352  0.351  0.329  0.366  0.366  0.358  0.359  0.359                        
SpeciesPorites compressa:BleachNon-bleach           0.503 -0.705 -0.711 -0.294 -0.327 -0.327 -0.317 -0.317 -0.317 -0.249                 
SpeciesPorites compressa:Months10                   0.422 -0.598 -0.298 -0.721 -0.325 -0.325 -0.314 -0.319 -0.319 -0.237  0.424          
SpeciesPorites compressa:Months12                   0.452 -0.642 -0.320 -0.313 -0.696 -0.348 -0.338 -0.338 -0.338 -0.255  0.456    0.456 
SpeciesPorites compressa:Months17                   0.444 -0.630 -0.314 -0.308 -0.342 -0.684 -0.332 -0.332 -0.332 -0.250  0.446    0.450 
SpeciesPorites compressa:Months20                   0.446 -0.633 -0.315 -0.307 -0.343 -0.343 -0.706 -0.332 -0.332 -0.253  0.449    0.448 
SpeciesPorites compressa:Months24                   0.428 -0.613 -0.302 -0.300 -0.329 -0.329 -0.319 -0.678 -0.323 -0.243  0.439    0.432 
SpeciesPorites compressa:Months29                   0.437 -0.626 -0.309 -0.306 -0.336 -0.336 -0.326 -0.330 -0.693 -0.248  0.447    0.442 
SpeciesPorites compressa:Months35                   0.382 -0.542 -0.270 -0.253 -0.282 -0.282 -0.276 -0.276 -0.276 -0.770  0.383    0.370 
BleachNon-bleach:Months10                           0.429 -0.304 -0.607 -0.733 -0.330 -0.330 -0.319 -0.324 -0.324 -0.241  0.431    0.529 
BleachNon-bleach:Months12                           0.460 -0.326 -0.650 -0.318 -0.707 -0.354 -0.343 -0.343 -0.343 -0.259  0.462    0.229 
BleachNon-bleach:Months17                           0.460 -0.326 -0.650 -0.318 -0.354 -0.707 -0.343 -0.343 -0.343 -0.259  0.462    0.229 
BleachNon-bleach:Months20                           0.453 -0.321 -0.640 -0.312 -0.348 -0.348 -0.717 -0.338 -0.338 -0.257  0.455    0.225 
BleachNon-bleach:Months24                           0.446 -0.316 -0.631 -0.313 -0.343 -0.343 -0.333 -0.707 -0.337 -0.254  0.449    0.225 
BleachNon-bleach:Months29                           0.446 -0.316 -0.631 -0.313 -0.343 -0.343 -0.333 -0.337 -0.707 -0.254  0.449    0.225 
BleachNon-bleach:Months35                           0.383 -0.272 -0.537 -0.254 -0.283 -0.283 -0.277 -0.277 -0.277 -0.773  0.382    0.183 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.308  0.440  0.435  0.526  0.237  0.237  0.229  0.233  0.233  0.173 -0.624   -0.731 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.320  0.454  0.452  0.222  0.492  0.246  0.239  0.239  0.239  0.180 -0.644   -0.322 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.319  0.455  0.451  0.221  0.245  0.490  0.238  0.238  0.238  0.180 -0.645   -0.324 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.318  0.451  0.449  0.219  0.244  0.244  0.503  0.237  0.237  0.180 -0.640   -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.302  0.437  0.426  0.211  0.232  0.232  0.225  0.478  0.228  0.171 -0.619   -0.304 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.308  0.445  0.436  0.216  0.237  0.237  0.230  0.233  0.489  0.175 -0.631   -0.311 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.278  0.395  0.389  0.184  0.205  0.205  0.201  0.201  0.201  0.560 -0.551   -0.269 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.480                                                                                
SpeciesPorites compressa:Months20                   0.482   0.473                                                                        
SpeciesPorites compressa:Months24                   0.461   0.452   0.454                                                                
SpeciesPorites compressa:Months29                   0.472   0.462   0.465   0.457                                                        
SpeciesPorites compressa:Months35                   0.395   0.390   0.391   0.378   0.387                                                
BleachNon-bleach:Months10                           0.230   0.226   0.225   0.220   0.225   0.186                                        
BleachNon-bleach:Months12                           0.492   0.242   0.243   0.233   0.238   0.199  0.467                                 
BleachNon-bleach:Months17                           0.246   0.483   0.243   0.233   0.238   0.199  0.467   0.500                         
BleachNon-bleach:Months20                           0.242   0.238   0.507   0.229   0.234   0.198  0.459   0.493   0.493                 
BleachNon-bleach:Months24                           0.239   0.235   0.235   0.479   0.233   0.195  0.458   0.485   0.485   0.478         
BleachNon-bleach:Months29                           0.239   0.235   0.235   0.228   0.490   0.195  0.458   0.485   0.485   0.478   0.477 
BleachNon-bleach:Months35                           0.197   0.194   0.196   0.188   0.192   0.596  0.375   0.400   0.400   0.396   0.392 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.332  -0.330  -0.327  -0.314  -0.322  -0.271 -0.718  -0.335  -0.335  -0.329  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.707  -0.339  -0.341  -0.326  -0.333  -0.280 -0.325  -0.696  -0.348  -0.343  -0.338 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.344  -0.718  -0.339  -0.323  -0.331  -0.281 -0.324  -0.347  -0.693  -0.342  -0.337 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.343  -0.337  -0.712  -0.323  -0.331  -0.279 -0.322  -0.345  -0.345  -0.701  -0.335 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.325  -0.318  -0.320  -0.709  -0.326  -0.268 -0.310  -0.328  -0.328  -0.323  -0.676 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.332  -0.326  -0.327  -0.326  -0.709  -0.275 -0.317  -0.335  -0.335  -0.330  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.287  -0.283  -0.284  -0.273  -0.280  -0.727 -0.272  -0.290  -0.290  -0.287  -0.284 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.392                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.329  -0.269                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.338  -0.279  0.470                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.337  -0.278  0.473       0.487                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.335  -0.278  0.466       0.485       0.483                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  -0.265  0.444       0.460       0.457       0.456                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.691  -0.271  0.455       0.470       0.468       0.467       0.460                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.284  -0.724  0.394       0.407       0.407       0.405       0.386       0.396     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-3.81584447 -0.53123873 -0.06830697  0.49705007  2.72119327 

Number of Observations: 276
Number of Groups: 44 
r.squaredGLMM(protein.lme)
           R2m       R2c
[1,] 0.5506146 0.6211707
#coef(protein.lme)

###Stats

protein.lme <- lme(Protein_mg.cm.2~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(protein.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Protein_mg.cm.2
                        Chisq Df Pr(>Chisq)    
(Intercept)           28.0172  1  1.202e-07 ***
Species                7.1503  1   0.007495 ** 
Bleach                 0.1095  1   0.740747    
Months                46.2291  7  7.889e-08 ***
Species:Bleach         0.1174  1   0.731906    
Species:Months        20.5300  7   0.004532 ** 
Bleach:Months          6.3841  7   0.495677    
Species:Bleach:Months  8.2744  7   0.309023    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(protein.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Species")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean     SE df lower.CL upper.CL
 Montipora capitata 0       0.165 0.0231 43    0.119    0.212
 Porites compressa  0       0.278 0.0231 42    0.231    0.324
 Montipora capitata 10      0.299 0.0258 43    0.247    0.351
 Porites compressa  10      0.359 0.0245 42    0.309    0.408
 Montipora capitata 12      0.265 0.0231 43    0.218    0.311
 Porites compressa  12      0.388 0.0243 42    0.339    0.437
 Montipora capitata 17      0.256 0.0231 43    0.209    0.302
 Porites compressa  17      0.525 0.0245 42    0.475    0.574
 Montipora capitata 20      0.304 0.0237 43    0.256    0.352
 Porites compressa  20      0.495 0.0243 42    0.446    0.545
 Montipora capitata 24      0.341 0.0243 43    0.292    0.390
 Porites compressa  24      0.521 0.0274 42    0.465    0.576
 Montipora capitata 29      0.410 0.0243 43    0.361    0.459
 Porites compressa  29      0.509 0.0257 42    0.457    0.561
 Montipora capitata 35      0.469 0.0318 43    0.405    0.533
 Porites compressa  35      0.443 0.0298 42    0.383    0.503

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Months`
Months = 0:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.1121 0.0327 42  -3.429  0.0014

Months = 10:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.0597 0.0356 42  -1.676  0.1012

Months = 12:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.1231 0.0336 42  -3.667  0.0007

Months = 17:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.2691 0.0337 42  -7.990  <.0001

Months = 20:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.1917 0.0340 42  -5.641  <.0001

Months = 24:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.1798 0.0366 42  -4.913  <.0001

Months = 29:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.0989 0.0354 42  -2.795  0.0078

Months = 35:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa   0.0265 0.0435 42   0.608  0.5467

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
summary(protein.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)   Residual
StdDev:  0.04101892 0.09504707

Fixed effects: Protein_mg.cm.2 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.709                                                                                
BleachNon-bleach                                   -0.707  0.502                                                                         
Months10                                           -0.585  0.415  0.414                                                                  
Months12                                           -0.650  0.461  0.460  0.450                                                           
Months17                                           -0.650  0.461  0.460  0.450  0.500                                                    
Months20                                           -0.631  0.448  0.446  0.435  0.486  0.486                                             
Months24                                           -0.631  0.448  0.446  0.442  0.485  0.485  0.471                                      
Months29                                           -0.631  0.448  0.446  0.442  0.485  0.485  0.471  0.477                               
Months35                                           -0.496  0.352  0.351  0.329  0.366  0.366  0.358  0.359  0.359                        
SpeciesPorites compressa:BleachNon-bleach           0.503 -0.705 -0.711 -0.294 -0.327 -0.327 -0.317 -0.317 -0.317 -0.249                 
SpeciesPorites compressa:Months10                   0.422 -0.598 -0.298 -0.721 -0.325 -0.325 -0.314 -0.319 -0.319 -0.237  0.424          
SpeciesPorites compressa:Months12                   0.452 -0.642 -0.320 -0.313 -0.696 -0.348 -0.338 -0.338 -0.338 -0.255  0.456    0.456 
SpeciesPorites compressa:Months17                   0.444 -0.630 -0.314 -0.308 -0.342 -0.684 -0.332 -0.332 -0.332 -0.250  0.446    0.450 
SpeciesPorites compressa:Months20                   0.446 -0.633 -0.315 -0.307 -0.343 -0.343 -0.706 -0.332 -0.332 -0.253  0.449    0.448 
SpeciesPorites compressa:Months24                   0.428 -0.613 -0.302 -0.300 -0.329 -0.329 -0.319 -0.678 -0.323 -0.243  0.439    0.432 
SpeciesPorites compressa:Months29                   0.437 -0.626 -0.309 -0.306 -0.336 -0.336 -0.326 -0.330 -0.693 -0.248  0.447    0.442 
SpeciesPorites compressa:Months35                   0.382 -0.542 -0.270 -0.253 -0.282 -0.282 -0.276 -0.276 -0.276 -0.770  0.383    0.370 
BleachNon-bleach:Months10                           0.429 -0.304 -0.607 -0.733 -0.330 -0.330 -0.319 -0.324 -0.324 -0.241  0.431    0.529 
BleachNon-bleach:Months12                           0.460 -0.326 -0.650 -0.318 -0.707 -0.354 -0.343 -0.343 -0.343 -0.259  0.462    0.229 
BleachNon-bleach:Months17                           0.460 -0.326 -0.650 -0.318 -0.354 -0.707 -0.343 -0.343 -0.343 -0.259  0.462    0.229 
BleachNon-bleach:Months20                           0.453 -0.321 -0.640 -0.312 -0.348 -0.348 -0.717 -0.338 -0.338 -0.257  0.455    0.225 
BleachNon-bleach:Months24                           0.446 -0.316 -0.631 -0.313 -0.343 -0.343 -0.333 -0.707 -0.337 -0.254  0.449    0.225 
BleachNon-bleach:Months29                           0.446 -0.316 -0.631 -0.313 -0.343 -0.343 -0.333 -0.337 -0.707 -0.254  0.449    0.225 
BleachNon-bleach:Months35                           0.383 -0.272 -0.537 -0.254 -0.283 -0.283 -0.277 -0.277 -0.277 -0.773  0.382    0.183 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.308  0.440  0.435  0.526  0.237  0.237  0.229  0.233  0.233  0.173 -0.624   -0.731 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.320  0.454  0.452  0.222  0.492  0.246  0.239  0.239  0.239  0.180 -0.644   -0.322 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.319  0.455  0.451  0.221  0.245  0.490  0.238  0.238  0.238  0.180 -0.645   -0.324 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.318  0.451  0.449  0.219  0.244  0.244  0.503  0.237  0.237  0.180 -0.640   -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.302  0.437  0.426  0.211  0.232  0.232  0.225  0.478  0.228  0.171 -0.619   -0.304 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.308  0.445  0.436  0.216  0.237  0.237  0.230  0.233  0.489  0.175 -0.631   -0.311 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.278  0.395  0.389  0.184  0.205  0.205  0.201  0.201  0.201  0.560 -0.551   -0.269 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.480                                                                                
SpeciesPorites compressa:Months20                   0.482   0.473                                                                        
SpeciesPorites compressa:Months24                   0.461   0.452   0.454                                                                
SpeciesPorites compressa:Months29                   0.472   0.462   0.465   0.457                                                        
SpeciesPorites compressa:Months35                   0.395   0.390   0.391   0.378   0.387                                                
BleachNon-bleach:Months10                           0.230   0.226   0.225   0.220   0.225   0.186                                        
BleachNon-bleach:Months12                           0.492   0.242   0.243   0.233   0.238   0.199  0.467                                 
BleachNon-bleach:Months17                           0.246   0.483   0.243   0.233   0.238   0.199  0.467   0.500                         
BleachNon-bleach:Months20                           0.242   0.238   0.507   0.229   0.234   0.198  0.459   0.493   0.493                 
BleachNon-bleach:Months24                           0.239   0.235   0.235   0.479   0.233   0.195  0.458   0.485   0.485   0.478         
BleachNon-bleach:Months29                           0.239   0.235   0.235   0.228   0.490   0.195  0.458   0.485   0.485   0.478   0.477 
BleachNon-bleach:Months35                           0.197   0.194   0.196   0.188   0.192   0.596  0.375   0.400   0.400   0.396   0.392 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.332  -0.330  -0.327  -0.314  -0.322  -0.271 -0.718  -0.335  -0.335  -0.329  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.707  -0.339  -0.341  -0.326  -0.333  -0.280 -0.325  -0.696  -0.348  -0.343  -0.338 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.344  -0.718  -0.339  -0.323  -0.331  -0.281 -0.324  -0.347  -0.693  -0.342  -0.337 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.343  -0.337  -0.712  -0.323  -0.331  -0.279 -0.322  -0.345  -0.345  -0.701  -0.335 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.325  -0.318  -0.320  -0.709  -0.326  -0.268 -0.310  -0.328  -0.328  -0.323  -0.676 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.332  -0.326  -0.327  -0.326  -0.709  -0.275 -0.317  -0.335  -0.335  -0.330  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.287  -0.283  -0.284  -0.273  -0.280  -0.727 -0.272  -0.290  -0.290  -0.287  -0.284 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.392                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.329  -0.269                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.338  -0.279  0.470                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.337  -0.278  0.473       0.487                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.335  -0.278  0.466       0.485       0.483                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  -0.265  0.444       0.460       0.457       0.456                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.691  -0.271  0.455       0.470       0.468       0.467       0.460                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.284  -0.724  0.394       0.407       0.407       0.405       0.386       0.396     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-3.81584447 -0.53123873 -0.06830697  0.49705007  2.72119327 

Number of Observations: 276
Number of Groups: 44 
r.squaredGLMM(protein.lme)
           R2m       R2c
[1,] 0.5506146 0.6211707
coef(protein.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months10   Months12   Months17  Months20  Months24 Months29  Months35
3     0.1759040                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
4     0.2218443                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
11    0.1824086                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
12    0.1432800                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
19    0.1650566                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
20    0.1370136                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
26    0.1585332                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
27    0.1552725                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
35    0.1759826                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
36    0.1632939                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
41    0.2291232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
42    0.1574232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
43    0.1611075                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
44    0.1136417                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
45    0.2021523                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
46    0.1381121                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
201   0.1377209                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
202   0.1370790                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
203   0.1878345                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
204   0.1747205                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
209   0.1539102                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
210   0.1453911                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
211   0.1763872                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
212   0.2245608                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
213   0.1717698                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
214   0.1646707                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
217   0.1835225                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
218   0.1927358                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
219   0.1975645                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
220   0.1905783                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
221   0.1721688                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                 -0.02228106                       -0.03772763                       -0.02605817
4                                 -0.02228106                       -0.03772763                       -0.02605817
11                                -0.02228106                       -0.03772763                       -0.02605817
12                                -0.02228106                       -0.03772763                       -0.02605817
19                                -0.02228106                       -0.03772763                       -0.02605817
20                                -0.02228106                       -0.03772763                       -0.02605817
26                                -0.02228106                       -0.03772763                       -0.02605817
27                                -0.02228106                       -0.03772763                       -0.02605817
35                                -0.02228106                       -0.03772763                       -0.02605817
36                                -0.02228106                       -0.03772763                       -0.02605817
41                                -0.02228106                       -0.03772763                       -0.02605817
42                                -0.02228106                       -0.03772763                       -0.02605817
43                                -0.02228106                       -0.03772763                       -0.02605817
44                                -0.02228106                       -0.03772763                       -0.02605817
45                                -0.02228106                       -0.03772763                       -0.02605817
46                                -0.02228106                       -0.03772763                       -0.02605817
201                               -0.02228106                       -0.03772763                       -0.02605817
202                               -0.02228106                       -0.03772763                       -0.02605817
203                               -0.02228106                       -0.03772763                       -0.02605817
204                               -0.02228106                       -0.03772763                       -0.02605817
209                               -0.02228106                       -0.03772763                       -0.02605817
210                               -0.02228106                       -0.03772763                       -0.02605817
211                               -0.02228106                       -0.03772763                       -0.02605817
212                               -0.02228106                       -0.03772763                       -0.02605817
213                               -0.02228106                       -0.03772763                       -0.02605817
214                               -0.02228106                       -0.03772763                       -0.02605817
217                               -0.02228106                       -0.03772763                       -0.02605817
218                               -0.02228106                       -0.03772763                       -0.02605817
219                               -0.02228106                       -0.03772763                       -0.02605817
220                               -0.02228106                       -0.03772763                       -0.02605817
221                               -0.02228106                       -0.03772763                       -0.02605817
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                           0.1174555                         0.0586134                         0.0903154                        0.04990827
4                           0.1174555                         0.0586134                         0.0903154                        0.04990827
11                          0.1174555                         0.0586134                         0.0903154                        0.04990827
12                          0.1174555                         0.0586134                         0.0903154                        0.04990827
19                          0.1174555                         0.0586134                         0.0903154                        0.04990827
20                          0.1174555                         0.0586134                         0.0903154                        0.04990827
26                          0.1174555                         0.0586134                         0.0903154                        0.04990827
27                          0.1174555                         0.0586134                         0.0903154                        0.04990827
35                          0.1174555                         0.0586134                         0.0903154                        0.04990827
36                          0.1174555                         0.0586134                         0.0903154                        0.04990827
41                          0.1174555                         0.0586134                         0.0903154                        0.04990827
42                          0.1174555                         0.0586134                         0.0903154                        0.04990827
43                          0.1174555                         0.0586134                         0.0903154                        0.04990827
44                          0.1174555                         0.0586134                         0.0903154                        0.04990827
45                          0.1174555                         0.0586134                         0.0903154                        0.04990827
46                          0.1174555                         0.0586134                         0.0903154                        0.04990827
201                         0.1174555                         0.0586134                         0.0903154                        0.04990827
202                         0.1174555                         0.0586134                         0.0903154                        0.04990827
203                         0.1174555                         0.0586134                         0.0903154                        0.04990827
204                         0.1174555                         0.0586134                         0.0903154                        0.04990827
209                         0.1174555                         0.0586134                         0.0903154                        0.04990827
210                         0.1174555                         0.0586134                         0.0903154                        0.04990827
211                         0.1174555                         0.0586134                         0.0903154                        0.04990827
212                         0.1174555                         0.0586134                         0.0903154                        0.04990827
213                         0.1174555                         0.0586134                         0.0903154                        0.04990827
214                         0.1174555                         0.0586134                         0.0903154                        0.04990827
217                         0.1174555                         0.0586134                         0.0903154                        0.04990827
218                         0.1174555                         0.0586134                         0.0903154                        0.04990827
219                         0.1174555                         0.0586134                         0.0903154                        0.04990827
220                         0.1174555                         0.0586134                         0.0903154                        0.04990827
221                         0.1174555                         0.0586134                         0.0903154                        0.04990827
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
4                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
11                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
12                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
19                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
20                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
26                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
27                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
35                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
36                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
41                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
42                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
43                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
44                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
45                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
46                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
201                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
202                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
203                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
204                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
209                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
210                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
211                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
212                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
213                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
214                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
217                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
218                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
219                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
220                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
221                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                  0.08454026                0.05176502                0.03536143                                        -0.02947219
4                  0.08454026                0.05176502                0.03536143                                        -0.02947219
11                 0.08454026                0.05176502                0.03536143                                        -0.02947219
12                 0.08454026                0.05176502                0.03536143                                        -0.02947219
19                 0.08454026                0.05176502                0.03536143                                        -0.02947219
20                 0.08454026                0.05176502                0.03536143                                        -0.02947219
26                 0.08454026                0.05176502                0.03536143                                        -0.02947219
27                 0.08454026                0.05176502                0.03536143                                        -0.02947219
35                 0.08454026                0.05176502                0.03536143                                        -0.02947219
36                 0.08454026                0.05176502                0.03536143                                        -0.02947219
41                 0.08454026                0.05176502                0.03536143                                        -0.02947219
42                 0.08454026                0.05176502                0.03536143                                        -0.02947219
43                 0.08454026                0.05176502                0.03536143                                        -0.02947219
44                 0.08454026                0.05176502                0.03536143                                        -0.02947219
45                 0.08454026                0.05176502                0.03536143                                        -0.02947219
46                 0.08454026                0.05176502                0.03536143                                        -0.02947219
201                0.08454026                0.05176502                0.03536143                                        -0.02947219
202                0.08454026                0.05176502                0.03536143                                        -0.02947219
203                0.08454026                0.05176502                0.03536143                                        -0.02947219
204                0.08454026                0.05176502                0.03536143                                        -0.02947219
209                0.08454026                0.05176502                0.03536143                                        -0.02947219
210                0.08454026                0.05176502                0.03536143                                        -0.02947219
211                0.08454026                0.05176502                0.03536143                                        -0.02947219
212                0.08454026                0.05176502                0.03536143                                        -0.02947219
213                0.08454026                0.05176502                0.03536143                                        -0.02947219
214                0.08454026                0.05176502                0.03536143                                        -0.02947219
217                0.08454026                0.05176502                0.03536143                                        -0.02947219
218                0.08454026                0.05176502                0.03536143                                        -0.02947219
219                0.08454026                0.05176502                0.03536143                                        -0.02947219
220                0.08454026                0.05176502                0.03536143                                        -0.02947219
221                0.08454026                0.05176502                0.03536143                                        -0.02947219
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                           0.07407306                                         0.07902784
4                                           0.07407306                                         0.07902784
11                                          0.07407306                                         0.07902784
12                                          0.07407306                                         0.07902784
19                                          0.07407306                                         0.07902784
20                                          0.07407306                                         0.07902784
26                                          0.07407306                                         0.07902784
27                                          0.07407306                                         0.07902784
35                                          0.07407306                                         0.07902784
36                                          0.07407306                                         0.07902784
41                                          0.07407306                                         0.07902784
42                                          0.07407306                                         0.07902784
43                                          0.07407306                                         0.07902784
44                                          0.07407306                                         0.07902784
45                                          0.07407306                                         0.07902784
46                                          0.07407306                                         0.07902784
201                                         0.07407306                                         0.07902784
202                                         0.07407306                                         0.07902784
203                                         0.07407306                                         0.07902784
204                                         0.07407306                                         0.07902784
209                                         0.07407306                                         0.07902784
210                                         0.07407306                                         0.07902784
211                                         0.07407306                                         0.07902784
212                                         0.07407306                                         0.07902784
213                                         0.07407306                                         0.07902784
214                                         0.07407306                                         0.07902784
217                                         0.07407306                                         0.07902784
218                                         0.07407306                                         0.07902784
219                                         0.07407306                                         0.07902784
220                                         0.07407306                                         0.07902784
221                                         0.07407306                                         0.07902784
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                           0.04188296                                        -0.04538026
4                                           0.04188296                                        -0.04538026
11                                          0.04188296                                        -0.04538026
12                                          0.04188296                                        -0.04538026
19                                          0.04188296                                        -0.04538026
20                                          0.04188296                                        -0.04538026
26                                          0.04188296                                        -0.04538026
27                                          0.04188296                                        -0.04538026
35                                          0.04188296                                        -0.04538026
36                                          0.04188296                                        -0.04538026
41                                          0.04188296                                        -0.04538026
42                                          0.04188296                                        -0.04538026
43                                          0.04188296                                        -0.04538026
44                                          0.04188296                                        -0.04538026
45                                          0.04188296                                        -0.04538026
46                                          0.04188296                                        -0.04538026
201                                         0.04188296                                        -0.04538026
202                                         0.04188296                                        -0.04538026
203                                         0.04188296                                        -0.04538026
204                                         0.04188296                                        -0.04538026
209                                         0.04188296                                        -0.04538026
210                                         0.04188296                                        -0.04538026
211                                         0.04188296                                        -0.04538026
212                                         0.04188296                                        -0.04538026
213                                         0.04188296                                        -0.04538026
214                                         0.04188296                                        -0.04538026
217                                         0.04188296                                        -0.04538026
218                                         0.04188296                                        -0.04538026
219                                         0.04188296                                        -0.04538026
220                                         0.04188296                                        -0.04538026
221                                         0.04188296                                        -0.04538026
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           -0.1263666                                         0.07181537
4                                           -0.1263666                                         0.07181537
11                                          -0.1263666                                         0.07181537
12                                          -0.1263666                                         0.07181537
19                                          -0.1263666                                         0.07181537
20                                          -0.1263666                                         0.07181537
26                                          -0.1263666                                         0.07181537
27                                          -0.1263666                                         0.07181537
35                                          -0.1263666                                         0.07181537
36                                          -0.1263666                                         0.07181537
41                                          -0.1263666                                         0.07181537
42                                          -0.1263666                                         0.07181537
43                                          -0.1263666                                         0.07181537
44                                          -0.1263666                                         0.07181537
45                                          -0.1263666                                         0.07181537
46                                          -0.1263666                                         0.07181537
201                                         -0.1263666                                         0.07181537
202                                         -0.1263666                                         0.07181537
203                                         -0.1263666                                         0.07181537
204                                         -0.1263666                                         0.07181537
209                                         -0.1263666                                         0.07181537
210                                         -0.1263666                                         0.07181537
211                                         -0.1263666                                         0.07181537
212                                         -0.1263666                                         0.07181537
213                                         -0.1263666                                         0.07181537
214                                         -0.1263666                                         0.07181537
217                                         -0.1263666                                         0.07181537
218                                         -0.1263666                                         0.07181537
219                                         -0.1263666                                         0.07181537
220                                         -0.1263666                                         0.07181537
221                                         -0.1263666                                         0.07181537
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]

####Coefficients

coef(protein.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months10   Months12   Months17  Months20  Months24 Months29  Months35
3     0.1759040                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
4     0.2218443                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
11    0.1824086                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
12    0.1432800                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
19    0.1650566                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
20    0.1370136                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
26    0.1585332                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
27    0.1552725                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
35    0.1759826                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
36    0.1632939                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
41    0.2291232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
42    0.1574232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
43    0.1611075                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
44    0.1136417                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
45    0.2021523                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
46    0.1381121                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
201   0.1377209                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
202   0.1370790                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
203   0.1878345                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
204   0.1747205                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
209   0.1539102                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
210   0.1453911                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
211   0.1763872                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
212   0.2245608                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
213   0.1717698                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
214   0.1646707                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
217   0.1835225                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
218   0.1927358                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
219   0.1975645                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
220   0.1905783                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
221   0.1721688                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                 -0.02228106                       -0.03772763                       -0.02605817
4                                 -0.02228106                       -0.03772763                       -0.02605817
11                                -0.02228106                       -0.03772763                       -0.02605817
12                                -0.02228106                       -0.03772763                       -0.02605817
19                                -0.02228106                       -0.03772763                       -0.02605817
20                                -0.02228106                       -0.03772763                       -0.02605817
26                                -0.02228106                       -0.03772763                       -0.02605817
27                                -0.02228106                       -0.03772763                       -0.02605817
35                                -0.02228106                       -0.03772763                       -0.02605817
36                                -0.02228106                       -0.03772763                       -0.02605817
41                                -0.02228106                       -0.03772763                       -0.02605817
42                                -0.02228106                       -0.03772763                       -0.02605817
43                                -0.02228106                       -0.03772763                       -0.02605817
44                                -0.02228106                       -0.03772763                       -0.02605817
45                                -0.02228106                       -0.03772763                       -0.02605817
46                                -0.02228106                       -0.03772763                       -0.02605817
201                               -0.02228106                       -0.03772763                       -0.02605817
202                               -0.02228106                       -0.03772763                       -0.02605817
203                               -0.02228106                       -0.03772763                       -0.02605817
204                               -0.02228106                       -0.03772763                       -0.02605817
209                               -0.02228106                       -0.03772763                       -0.02605817
210                               -0.02228106                       -0.03772763                       -0.02605817
211                               -0.02228106                       -0.03772763                       -0.02605817
212                               -0.02228106                       -0.03772763                       -0.02605817
213                               -0.02228106                       -0.03772763                       -0.02605817
214                               -0.02228106                       -0.03772763                       -0.02605817
217                               -0.02228106                       -0.03772763                       -0.02605817
218                               -0.02228106                       -0.03772763                       -0.02605817
219                               -0.02228106                       -0.03772763                       -0.02605817
220                               -0.02228106                       -0.03772763                       -0.02605817
221                               -0.02228106                       -0.03772763                       -0.02605817
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                           0.1174555                         0.0586134                         0.0903154                        0.04990827
4                           0.1174555                         0.0586134                         0.0903154                        0.04990827
11                          0.1174555                         0.0586134                         0.0903154                        0.04990827
12                          0.1174555                         0.0586134                         0.0903154                        0.04990827
19                          0.1174555                         0.0586134                         0.0903154                        0.04990827
20                          0.1174555                         0.0586134                         0.0903154                        0.04990827
26                          0.1174555                         0.0586134                         0.0903154                        0.04990827
27                          0.1174555                         0.0586134                         0.0903154                        0.04990827
35                          0.1174555                         0.0586134                         0.0903154                        0.04990827
36                          0.1174555                         0.0586134                         0.0903154                        0.04990827
41                          0.1174555                         0.0586134                         0.0903154                        0.04990827
42                          0.1174555                         0.0586134                         0.0903154                        0.04990827
43                          0.1174555                         0.0586134                         0.0903154                        0.04990827
44                          0.1174555                         0.0586134                         0.0903154                        0.04990827
45                          0.1174555                         0.0586134                         0.0903154                        0.04990827
46                          0.1174555                         0.0586134                         0.0903154                        0.04990827
201                         0.1174555                         0.0586134                         0.0903154                        0.04990827
202                         0.1174555                         0.0586134                         0.0903154                        0.04990827
203                         0.1174555                         0.0586134                         0.0903154                        0.04990827
204                         0.1174555                         0.0586134                         0.0903154                        0.04990827
209                         0.1174555                         0.0586134                         0.0903154                        0.04990827
210                         0.1174555                         0.0586134                         0.0903154                        0.04990827
211                         0.1174555                         0.0586134                         0.0903154                        0.04990827
212                         0.1174555                         0.0586134                         0.0903154                        0.04990827
213                         0.1174555                         0.0586134                         0.0903154                        0.04990827
214                         0.1174555                         0.0586134                         0.0903154                        0.04990827
217                         0.1174555                         0.0586134                         0.0903154                        0.04990827
218                         0.1174555                         0.0586134                         0.0903154                        0.04990827
219                         0.1174555                         0.0586134                         0.0903154                        0.04990827
220                         0.1174555                         0.0586134                         0.0903154                        0.04990827
221                         0.1174555                         0.0586134                         0.0903154                        0.04990827
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
4                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
11                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
12                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
19                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
20                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
26                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
27                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
35                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
36                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
41                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
42                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
43                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
44                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
45                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
46                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
201                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
202                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
203                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
204                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
209                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
210                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
211                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
212                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
213                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
214                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
217                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
218                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
219                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
220                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
221                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                  0.08454026                0.05176502                0.03536143                                        -0.02947219
4                  0.08454026                0.05176502                0.03536143                                        -0.02947219
11                 0.08454026                0.05176502                0.03536143                                        -0.02947219
12                 0.08454026                0.05176502                0.03536143                                        -0.02947219
19                 0.08454026                0.05176502                0.03536143                                        -0.02947219
20                 0.08454026                0.05176502                0.03536143                                        -0.02947219
26                 0.08454026                0.05176502                0.03536143                                        -0.02947219
27                 0.08454026                0.05176502                0.03536143                                        -0.02947219
35                 0.08454026                0.05176502                0.03536143                                        -0.02947219
36                 0.08454026                0.05176502                0.03536143                                        -0.02947219
41                 0.08454026                0.05176502                0.03536143                                        -0.02947219
42                 0.08454026                0.05176502                0.03536143                                        -0.02947219
43                 0.08454026                0.05176502                0.03536143                                        -0.02947219
44                 0.08454026                0.05176502                0.03536143                                        -0.02947219
45                 0.08454026                0.05176502                0.03536143                                        -0.02947219
46                 0.08454026                0.05176502                0.03536143                                        -0.02947219
201                0.08454026                0.05176502                0.03536143                                        -0.02947219
202                0.08454026                0.05176502                0.03536143                                        -0.02947219
203                0.08454026                0.05176502                0.03536143                                        -0.02947219
204                0.08454026                0.05176502                0.03536143                                        -0.02947219
209                0.08454026                0.05176502                0.03536143                                        -0.02947219
210                0.08454026                0.05176502                0.03536143                                        -0.02947219
211                0.08454026                0.05176502                0.03536143                                        -0.02947219
212                0.08454026                0.05176502                0.03536143                                        -0.02947219
213                0.08454026                0.05176502                0.03536143                                        -0.02947219
214                0.08454026                0.05176502                0.03536143                                        -0.02947219
217                0.08454026                0.05176502                0.03536143                                        -0.02947219
218                0.08454026                0.05176502                0.03536143                                        -0.02947219
219                0.08454026                0.05176502                0.03536143                                        -0.02947219
220                0.08454026                0.05176502                0.03536143                                        -0.02947219
221                0.08454026                0.05176502                0.03536143                                        -0.02947219
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                           0.07407306                                         0.07902784
4                                           0.07407306                                         0.07902784
11                                          0.07407306                                         0.07902784
12                                          0.07407306                                         0.07902784
19                                          0.07407306                                         0.07902784
20                                          0.07407306                                         0.07902784
26                                          0.07407306                                         0.07902784
27                                          0.07407306                                         0.07902784
35                                          0.07407306                                         0.07902784
36                                          0.07407306                                         0.07902784
41                                          0.07407306                                         0.07902784
42                                          0.07407306                                         0.07902784
43                                          0.07407306                                         0.07902784
44                                          0.07407306                                         0.07902784
45                                          0.07407306                                         0.07902784
46                                          0.07407306                                         0.07902784
201                                         0.07407306                                         0.07902784
202                                         0.07407306                                         0.07902784
203                                         0.07407306                                         0.07902784
204                                         0.07407306                                         0.07902784
209                                         0.07407306                                         0.07902784
210                                         0.07407306                                         0.07902784
211                                         0.07407306                                         0.07902784
212                                         0.07407306                                         0.07902784
213                                         0.07407306                                         0.07902784
214                                         0.07407306                                         0.07902784
217                                         0.07407306                                         0.07902784
218                                         0.07407306                                         0.07902784
219                                         0.07407306                                         0.07902784
220                                         0.07407306                                         0.07902784
221                                         0.07407306                                         0.07902784
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                           0.04188296                                        -0.04538026
4                                           0.04188296                                        -0.04538026
11                                          0.04188296                                        -0.04538026
12                                          0.04188296                                        -0.04538026
19                                          0.04188296                                        -0.04538026
20                                          0.04188296                                        -0.04538026
26                                          0.04188296                                        -0.04538026
27                                          0.04188296                                        -0.04538026
35                                          0.04188296                                        -0.04538026
36                                          0.04188296                                        -0.04538026
41                                          0.04188296                                        -0.04538026
42                                          0.04188296                                        -0.04538026
43                                          0.04188296                                        -0.04538026
44                                          0.04188296                                        -0.04538026
45                                          0.04188296                                        -0.04538026
46                                          0.04188296                                        -0.04538026
201                                         0.04188296                                        -0.04538026
202                                         0.04188296                                        -0.04538026
203                                         0.04188296                                        -0.04538026
204                                         0.04188296                                        -0.04538026
209                                         0.04188296                                        -0.04538026
210                                         0.04188296                                        -0.04538026
211                                         0.04188296                                        -0.04538026
212                                         0.04188296                                        -0.04538026
213                                         0.04188296                                        -0.04538026
214                                         0.04188296                                        -0.04538026
217                                         0.04188296                                        -0.04538026
218                                         0.04188296                                        -0.04538026
219                                         0.04188296                                        -0.04538026
220                                         0.04188296                                        -0.04538026
221                                         0.04188296                                        -0.04538026
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           -0.1263666                                         0.07181537
4                                           -0.1263666                                         0.07181537
11                                          -0.1263666                                         0.07181537
12                                          -0.1263666                                         0.07181537
19                                          -0.1263666                                         0.07181537
20                                          -0.1263666                                         0.07181537
26                                          -0.1263666                                         0.07181537
27                                          -0.1263666                                         0.07181537
35                                          -0.1263666                                         0.07181537
36                                          -0.1263666                                         0.07181537
41                                          -0.1263666                                         0.07181537
42                                          -0.1263666                                         0.07181537
43                                          -0.1263666                                         0.07181537
44                                          -0.1263666                                         0.07181537
45                                          -0.1263666                                         0.07181537
46                                          -0.1263666                                         0.07181537
201                                         -0.1263666                                         0.07181537
202                                         -0.1263666                                         0.07181537
203                                         -0.1263666                                         0.07181537
204                                         -0.1263666                                         0.07181537
209                                         -0.1263666                                         0.07181537
210                                         -0.1263666                                         0.07181537
211                                         -0.1263666                                         0.07181537
212                                         -0.1263666                                         0.07181537
213                                         -0.1263666                                         0.07181537
214                                         -0.1263666                                         0.07181537
217                                         -0.1263666                                         0.07181537
218                                         -0.1263666                                         0.07181537
219                                         -0.1263666                                         0.07181537
220                                         -0.1263666                                         0.07181537
221                                         -0.1263666                                         0.07181537
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]
proteinavg<-summarySE(phys, measurevar='Protein_mg.cm.2', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
proteinavg

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
proteinfig<-ggplot(phys, aes(y=Protein_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
proteinfig

library(Rmisc)
protein_sum<-summarySE(phys, measurevar='Protein_mg.cm.2', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
protein_sum
proteinfig_3<-ggplot(protein_sum, aes(y=Protein_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=Protein_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.8),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
proteinfig_3

proteinfig_2<-ggplot(protein_sum, aes(y=Protein_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=Protein_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  #geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.8),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: width
proteinfig_2

proteinfig_3<-ggplot(protein_sum, aes(y=Protein_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=Protein_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.8),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
proteinfig_3

library(Rmisc)
protein_stress<-summarySE(phys_stress, measurevar='Protein_mg.cm.2', groupvars=c('Months','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
protein_stress
protein_stress_fig<-ggplot(protein_stress, aes(y=Protein_mg.cm.2, x=Months, color=Bleach, fill=Bleach))+ 
  geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  facet_grid(~Species)+
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
protein_stress_fig

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
protein_stress_fig2<-ggplot(protein_stress, aes(y=Protein_mg.cm.2, x=Months, color=Bleach, fill=Bleach))+ 
  #geom_boxplot(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  #geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  geom_point(size=1.5, position= pd)+
  geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3))+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Protein~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
Warning: Ignoring unknown aesthetics: stat
protein_stress_fig2

##AFDW ###Normality

hist(phys$AFDW_mg.cm.2)

AFDW.lm<- lm(AFDW_mg.cm.2~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(AFDW.lm, ask=FALSE, which=1:6)

###Stats

AFDW.lme <- lme(AFDW_mg.cm.2~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(AFDW.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: AFDW_mg.cm.2
                        Chisq Df Pr(>Chisq)    
(Intercept)           13.0317  1  0.0003063 ***
Species                7.9843  1  0.0047186 ** 
Bleach                 0.0481  1  0.8264576    
Months                92.5381  7  < 2.2e-16 ***
Species:Bleach         0.8137  1  0.3670394    
Species:Months        15.9326  7  0.0257390 *  
Bleach:Months          2.1034  7  0.9538982    
Species:Bleach:Months 13.7309  7  0.0561806 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(AFDW.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean    SE df lower.CL upper.CL
 Montipora capitata 0        2.12 0.399 43     1.32     2.93
 Porites compressa  0        3.87 0.399 42     3.06     4.67
 Montipora capitata 10       7.30 0.449 43     6.40     8.21
 Porites compressa  10       9.18 0.423 42     8.33    10.04
 Montipora capitata 12       3.21 0.399 43     2.40     4.01
 Porites compressa  12       5.04 0.420 42     4.19     5.89
 Montipora capitata 17       5.83 0.399 43     5.03     6.63
 Porites compressa  17      11.01 0.423 42    10.16    11.87
 Montipora capitata 20       6.57 0.410 43     5.74     7.39
 Porites compressa  20      10.35 0.420 42     9.50    11.20
 Montipora capitata 24       4.59 0.433 43     3.71     5.46
 Porites compressa  24       7.37 0.476 42     6.41     8.34
 Montipora capitata 29       7.58 0.420 43     6.73     8.43
 Porites compressa  29       9.77 0.446 42     8.87    10.67
 Montipora capitata 35       7.57 0.558 43     6.45     8.70
 Porites compressa  35       8.48 0.521 42     7.43     9.53

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10  -5.17825 0.590 201  -8.771  <.0001
 Months0 - Months12  -1.08394 0.553 201  -1.960  0.5117
 Months0 - Months17  -3.70793 0.553 201  -6.704  <.0001
 Months0 - Months20  -4.44604 0.561 201  -7.926  <.0001
 Months0 - Months24  -2.46392 0.578 201  -4.260  0.0008
 Months0 - Months29  -5.45601 0.569 201  -9.593  <.0001
 Months0 - Months35  -5.44798 0.679 201  -8.028  <.0001
 Months10 - Months12  4.09431 0.590 201   6.935  <.0001
 Months10 - Months17  1.47032 0.590 201   2.490  0.2056
 Months10 - Months20  0.73220 0.598 201   1.224  0.9238
 Months10 - Months24  2.71433 0.613 201   4.431  0.0004
 Months10 - Months29 -0.27776 0.604 201  -0.460  0.9998
 Months10 - Months35 -0.26973 0.709 201  -0.380  0.9999
 Months12 - Months17 -2.62399 0.553 201  -4.744  0.0001
 Months12 - Months20 -3.36211 0.561 201  -5.993  <.0001
 Months12 - Months24 -1.37998 0.578 201  -2.386  0.2539
 Months12 - Months29 -4.37207 0.569 201  -7.687  <.0001
 Months12 - Months35 -4.36404 0.679 201  -6.431  <.0001
 Months17 - Months20 -0.73811 0.561 201  -1.316  0.8920
 Months17 - Months24  1.24401 0.578 201   2.151  0.3862
 Months17 - Months29 -1.74808 0.569 201  -3.073  0.0486
 Months17 - Months35 -1.74005 0.679 201  -2.564  0.1754
 Months20 - Months24  1.98212 0.586 201   3.383  0.0192
 Months20 - Months29 -1.00997 0.576 201  -1.752  0.6531
 Months20 - Months35 -1.00193 0.685 201  -1.463  0.8259
 Months24 - Months29 -2.99209 0.592 201  -5.051  <.0001
 Months24 - Months35 -2.98406 0.699 201  -4.267  0.0008
 Months29 - Months35  0.00804 0.691 201   0.012  1.0000

Species = Porites compressa:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10  -5.31725 0.571 201  -9.316  <.0001
 Months0 - Months12  -1.17164 0.569 201  -2.060  0.4447
 Months0 - Months17  -7.14605 0.571 201 -12.520  <.0001
 Months0 - Months20  -6.48014 0.569 201 -11.392  <.0001
 Months0 - Months24  -3.50771 0.611 201  -5.738  <.0001
 Months0 - Months29  -5.90256 0.588 201 -10.042  <.0001
 Months0 - Months35  -4.60996 0.648 201  -7.111  <.0001
 Months10 - Months12  4.14561 0.585 201   7.088  <.0001
 Months10 - Months17 -1.82880 0.587 201  -3.117  0.0428
 Months10 - Months20 -1.16289 0.585 201  -1.988  0.4925
 Months10 - Months24  1.80954 0.626 201   2.889  0.0802
 Months10 - Months29 -0.58531 0.603 201  -0.970  0.9781
 Months10 - Months35  0.70730 0.663 201   1.067  0.9628
 Months12 - Months17 -5.97441 0.585 201 -10.214  <.0001
 Months12 - Months20 -5.30850 0.583 201  -9.105  <.0001
 Months12 - Months24 -2.33607 0.625 201  -3.741  0.0058
 Months12 - Months29 -4.73092 0.602 201  -7.865  <.0001
 Months12 - Months35 -3.43832 0.661 201  -5.202  <.0001
 Months17 - Months20  0.66591 0.585 201   1.138  0.9475
 Months17 - Months24  3.63834 0.626 201   5.809  <.0001
 Months17 - Months29  1.24349 0.603 201   2.061  0.4440
 Months17 - Months35  2.53610 0.663 201   3.827  0.0042
 Months20 - Months24  2.97243 0.625 201   4.760  0.0001
 Months20 - Months29  0.57758 0.602 201   0.960  0.9793
 Months20 - Months35  1.87018 0.661 201   2.830  0.0935
 Months24 - Months29 -2.39485 0.641 201  -3.738  0.0058
 Months24 - Months35 -1.10225 0.698 201  -1.580  0.7617
 Months29 - Months35  1.29260 0.676 201   1.911  0.5451

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 8 estimates 
summary(AFDW.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:   0.3465371 1.749079

Fixed effects: AFDW_mg.cm.2 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.707                                                                                
BleachNon-bleach                                   -0.707  0.500                                                                         
Months10                                           -0.628  0.444  0.444                                                                  
Months12                                           -0.694  0.491  0.490  0.452                                                           
Months17                                           -0.694  0.491  0.490  0.452  0.500                                                    
Months20                                           -0.675  0.477  0.477  0.439  0.486  0.486                                             
Months24                                           -0.653  0.462  0.462  0.429  0.471  0.471  0.457                                      
Months29                                           -0.675  0.477  0.477  0.442  0.486  0.486  0.473  0.459                               
Months35                                           -0.524  0.371  0.371  0.338  0.374  0.374  0.365  0.351  0.365                        
SpeciesPorites compressa:BleachNon-bleach           0.500 -0.707 -0.707 -0.314 -0.347 -0.347 -0.337 -0.327 -0.337 -0.262                 
SpeciesPorites compressa:Months10                   0.452 -0.640 -0.320 -0.721 -0.326 -0.326 -0.317 -0.309 -0.318 -0.244  0.453          
SpeciesPorites compressa:Months12                   0.484 -0.684 -0.342 -0.315 -0.697 -0.349 -0.339 -0.328 -0.339 -0.261  0.484    0.456 
SpeciesPorites compressa:Months17                   0.475 -0.672 -0.336 -0.310 -0.343 -0.685 -0.333 -0.322 -0.333 -0.257  0.475    0.449 
SpeciesPorites compressa:Months20                   0.477 -0.675 -0.337 -0.311 -0.344 -0.344 -0.707 -0.323 -0.334 -0.258  0.477    0.449 
SpeciesPorites compressa:Months24                   0.452 -0.641 -0.320 -0.297 -0.326 -0.326 -0.317 -0.692 -0.318 -0.243  0.455    0.427 
SpeciesPorites compressa:Months29                   0.469 -0.664 -0.331 -0.307 -0.338 -0.338 -0.328 -0.319 -0.695 -0.254  0.471    0.442 
SpeciesPorites compressa:Months35                   0.403 -0.571 -0.285 -0.260 -0.288 -0.288 -0.281 -0.270 -0.281 -0.769  0.404    0.377 
BleachNon-bleach:Months10                           0.460 -0.325 -0.650 -0.732 -0.331 -0.331 -0.322 -0.314 -0.323 -0.248  0.460    0.528 
BleachNon-bleach:Months12                           0.490 -0.347 -0.694 -0.320 -0.707 -0.354 -0.344 -0.333 -0.344 -0.265  0.491    0.231 
BleachNon-bleach:Months17                           0.490 -0.347 -0.694 -0.320 -0.354 -0.707 -0.344 -0.333 -0.344 -0.265  0.491    0.231 
BleachNon-bleach:Months20                           0.484 -0.342 -0.684 -0.315 -0.349 -0.349 -0.717 -0.328 -0.339 -0.262  0.484    0.227 
BleachNon-bleach:Months24                           0.469 -0.332 -0.663 -0.308 -0.338 -0.338 -0.329 -0.719 -0.330 -0.252  0.469    0.222 
BleachNon-bleach:Months29                           0.477 -0.337 -0.675 -0.312 -0.344 -0.344 -0.334 -0.325 -0.707 -0.258  0.477    0.225 
BleachNon-bleach:Months35                           0.404 -0.285 -0.570 -0.260 -0.288 -0.288 -0.281 -0.270 -0.281 -0.770  0.403    0.188 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.330  0.468  0.467  0.526  0.238  0.238  0.231  0.226  0.232  0.178 -0.662   -0.730 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.342  0.484  0.484  0.223  0.493  0.246  0.240  0.232  0.240  0.185 -0.684   -0.322 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.341  0.483  0.482  0.222  0.246  0.492  0.239  0.231  0.239  0.184 -0.684   -0.323 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.340  0.480  0.480  0.221  0.245  0.245  0.503  0.230  0.238  0.184 -0.679   -0.320 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  0.458  0.455  0.212  0.232  0.232  0.225  0.493  0.226  0.173 -0.647   -0.304 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.331  0.470  0.468  0.217  0.239  0.239  0.232  0.225  0.491  0.179 -0.665   -0.312 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.292  0.413  0.412  0.188  0.208  0.208  0.203  0.195  0.203  0.557 -0.582   -0.272 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.479                                                                                
SpeciesPorites compressa:Months20                   0.480   0.472                                                                        
SpeciesPorites compressa:Months24                   0.455   0.447   0.449                                                                
SpeciesPorites compressa:Months29                   0.472   0.464   0.465   0.445                                                        
SpeciesPorites compressa:Months35                   0.402   0.396   0.397   0.376   0.392                                                
BleachNon-bleach:Months10                           0.231   0.227   0.227   0.218   0.225   0.191                                        
BleachNon-bleach:Months12                           0.493   0.242   0.243   0.230   0.239   0.204  0.468                                 
BleachNon-bleach:Months17                           0.246   0.485   0.243   0.230   0.239   0.204  0.468   0.500                         
BleachNon-bleach:Months20                           0.243   0.239   0.507   0.227   0.235   0.201  0.461   0.493   0.493                 
BleachNon-bleach:Months24                           0.236   0.232   0.232   0.498   0.229   0.194  0.451   0.478   0.478   0.471         
BleachNon-bleach:Months29                           0.240   0.236   0.236   0.225   0.491   0.199  0.457   0.486   0.486   0.479   0.467 
BleachNon-bleach:Months35                           0.201   0.197   0.199   0.187   0.195   0.592  0.382   0.408   0.408   0.402   0.390 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.332  -0.328  -0.328  -0.311  -0.322  -0.275 -0.718  -0.337  -0.337  -0.332  -0.324 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.707  -0.339  -0.340  -0.322  -0.334  -0.284 -0.327  -0.697  -0.349  -0.344  -0.333 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.343  -0.718  -0.339  -0.320  -0.333  -0.284 -0.326  -0.348  -0.695  -0.343  -0.333 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.342  -0.336  -0.712  -0.319  -0.331  -0.283 -0.324  -0.346  -0.346  -0.702  -0.331 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.324  -0.318  -0.319  -0.713  -0.318  -0.268 -0.309  -0.328  -0.328  -0.323  -0.686 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.333  -0.327  -0.329  -0.316  -0.708  -0.277 -0.317  -0.338  -0.338  -0.333  -0.324 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.291  -0.286  -0.287  -0.272  -0.283  -0.724 -0.276  -0.295  -0.295  -0.291  -0.282 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.398                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.329  -0.275                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.339  -0.284  0.470                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.338  -0.283  0.471       0.486                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.337  -0.283  0.467       0.484       0.482                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.320  -0.267  0.443       0.458       0.457       0.455                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.694  -0.276  0.456       0.471       0.470       0.468       0.449                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.287  -0.723  0.398       0.412       0.411       0.409       0.387       0.400     

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-4.477821768 -0.516104212  0.006458293  0.528053918  2.819238066 

Number of Observations: 275
Number of Groups: 44 
r.squaredGLMM(AFDW.lme)
           R2m       R2c
[1,] 0.6918281 0.7034681

####Coefficients

coef(AFDW.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach Months10  Months12 Months17 Months20 Months24 Months29 Months35
3      2.085664                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
4      2.032397                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
11     1.944082                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
12     2.049077                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
19     2.140051                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
20     2.037847                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
26     2.109987                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
27     2.007772                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
35     2.168458                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
36     1.990676                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
41     2.416779                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
42     2.229778                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
43     1.954513                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
44     1.845654                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
45     2.213627                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
46     1.675782                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
201    1.989219                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
202    2.121663                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
203    1.969132                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
204    2.069564                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
209    2.016175                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
210    2.144541                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
211    1.919986                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
212    2.117761                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
213    2.002797                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
214    2.063590                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
217    2.160648                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
218    2.038688                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
219    2.031608                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
220    1.909636                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
221    2.129944                 2.252636        0.1748212 5.248146 0.9425809  3.64535 4.599669 2.021214  5.35493 5.908492
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                   -1.016819                         0.3821685                         -1.047693
4                                   -1.016819                         0.3821685                         -1.047693
11                                  -1.016819                         0.3821685                         -1.047693
12                                  -1.016819                         0.3821685                         -1.047693
19                                  -1.016819                         0.3821685                         -1.047693
20                                  -1.016819                         0.3821685                         -1.047693
26                                  -1.016819                         0.3821685                         -1.047693
27                                  -1.016819                         0.3821685                         -1.047693
35                                  -1.016819                         0.3821685                         -1.047693
36                                  -1.016819                         0.3821685                         -1.047693
41                                  -1.016819                         0.3821685                         -1.047693
42                                  -1.016819                         0.3821685                         -1.047693
43                                  -1.016819                         0.3821685                         -1.047693
44                                  -1.016819                         0.3821685                         -1.047693
45                                  -1.016819                         0.3821685                         -1.047693
46                                  -1.016819                         0.3821685                         -1.047693
201                                 -1.016819                         0.3821685                         -1.047693
202                                 -1.016819                         0.3821685                         -1.047693
203                                 -1.016819                         0.3821685                         -1.047693
204                                 -1.016819                         0.3821685                         -1.047693
209                                 -1.016819                         0.3821685                         -1.047693
210                                 -1.016819                         0.3821685                         -1.047693
211                                 -1.016819                         0.3821685                         -1.047693
212                                 -1.016819                         0.3821685                         -1.047693
213                                 -1.016819                         0.3821685                         -1.047693
214                                 -1.016819                         0.3821685                         -1.047693
217                                 -1.016819                         0.3821685                         -1.047693
218                                 -1.016819                         0.3821685                         -1.047693
219                                 -1.016819                         0.3821685                         -1.047693
220                                 -1.016819                         0.3821685                         -1.047693
221                                 -1.016819                         0.3821685                         -1.047693
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                            2.095037                         0.8358312                         0.9710525                          1.109468
4                            2.095037                         0.8358312                         0.9710525                          1.109468
11                           2.095037                         0.8358312                         0.9710525                          1.109468
12                           2.095037                         0.8358312                         0.9710525                          1.109468
19                           2.095037                         0.8358312                         0.9710525                          1.109468
20                           2.095037                         0.8358312                         0.9710525                          1.109468
26                           2.095037                         0.8358312                         0.9710525                          1.109468
27                           2.095037                         0.8358312                         0.9710525                          1.109468
35                           2.095037                         0.8358312                         0.9710525                          1.109468
36                           2.095037                         0.8358312                         0.9710525                          1.109468
41                           2.095037                         0.8358312                         0.9710525                          1.109468
42                           2.095037                         0.8358312                         0.9710525                          1.109468
43                           2.095037                         0.8358312                         0.9710525                          1.109468
44                           2.095037                         0.8358312                         0.9710525                          1.109468
45                           2.095037                         0.8358312                         0.9710525                          1.109468
46                           2.095037                         0.8358312                         0.9710525                          1.109468
201                          2.095037                         0.8358312                         0.9710525                          1.109468
202                          2.095037                         0.8358312                         0.9710525                          1.109468
203                          2.095037                         0.8358312                         0.9710525                          1.109468
204                          2.095037                         0.8358312                         0.9710525                          1.109468
209                          2.095037                         0.8358312                         0.9710525                          1.109468
210                          2.095037                         0.8358312                         0.9710525                          1.109468
211                          2.095037                         0.8358312                         0.9710525                          1.109468
212                          2.095037                         0.8358312                         0.9710525                          1.109468
213                          2.095037                         0.8358312                         0.9710525                          1.109468
214                          2.095037                         0.8358312                         0.9710525                          1.109468
217                          2.095037                         0.8358312                         0.9710525                          1.109468
218                          2.095037                         0.8358312                         0.9710525                          1.109468
219                          2.095037                         0.8358312                         0.9710525                          1.109468
220                          2.095037                         0.8358312                         0.9710525                          1.109468
221                          2.095037                         0.8358312                         0.9710525                          1.109468
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                           -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
4                           -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
11                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
12                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
19                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
20                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
26                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
27                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
35                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
36                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
41                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
42                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
43                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
44                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
45                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
46                          -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
201                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
202                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
203                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
204                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
209                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
210                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
211                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
212                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
213                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
214                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
217                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
218                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
219                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
220                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
221                         -2.515335                 -0.139798                 0.2827152                 0.1251637                 -0.307251
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                   0.8854134                 0.2021629                -0.9210301                                         -0.4863227
4                   0.8854134                 0.2021629                -0.9210301                                         -0.4863227
11                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
12                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
19                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
20                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
26                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
27                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
35                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
36                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
41                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
42                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
43                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
44                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
45                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
46                  0.8854134                 0.2021629                -0.9210301                                         -0.4863227
201                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
202                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
203                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
204                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
209                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
210                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
211                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
212                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
213                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
214                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
217                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
218                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
219                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
220                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
221                 0.8854134                 0.2021629                -0.9210301                                         -0.4863227
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                             2.270789                                           2.686168
4                                             2.270789                                           2.686168
11                                            2.270789                                           2.686168
12                                            2.270789                                           2.686168
19                                            2.270789                                           2.686168
20                                            2.270789                                           2.686168
26                                            2.270789                                           2.686168
27                                            2.270789                                           2.686168
35                                            2.270789                                           2.686168
36                                            2.270789                                           2.686168
41                                            2.270789                                           2.686168
42                                            2.270789                                           2.686168
43                                            2.270789                                           2.686168
44                                            2.270789                                           2.686168
45                                            2.270789                                           2.686168
46                                            2.270789                                           2.686168
201                                           2.270789                                           2.686168
202                                           2.270789                                           2.686168
203                                           2.270789                                           2.686168
204                                           2.270789                                           2.686168
209                                           2.270789                                           2.686168
210                                           2.270789                                           2.686168
211                                           2.270789                                           2.686168
212                                           2.270789                                           2.686168
213                                           2.270789                                           2.686168
214                                           2.270789                                           2.686168
217                                           2.270789                                           2.686168
218                                           2.270789                                           2.686168
219                                           2.270789                                           2.686168
220                                           2.270789                                           2.686168
221                                           2.270789                                           2.686168
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                             2.396537                                          0.1454746
4                                             2.396537                                          0.1454746
11                                            2.396537                                          0.1454746
12                                            2.396537                                          0.1454746
19                                            2.396537                                          0.1454746
20                                            2.396537                                          0.1454746
26                                            2.396537                                          0.1454746
27                                            2.396537                                          0.1454746
35                                            2.396537                                          0.1454746
36                                            2.396537                                          0.1454746
41                                            2.396537                                          0.1454746
42                                            2.396537                                          0.1454746
43                                            2.396537                                          0.1454746
44                                            2.396537                                          0.1454746
45                                            2.396537                                          0.1454746
46                                            2.396537                                          0.1454746
201                                           2.396537                                          0.1454746
202                                           2.396537                                          0.1454746
203                                           2.396537                                          0.1454746
204                                           2.396537                                          0.1454746
209                                           2.396537                                          0.1454746
210                                           2.396537                                          0.1454746
211                                           2.396537                                          0.1454746
212                                           2.396537                                          0.1454746
213                                           2.396537                                          0.1454746
214                                           2.396537                                          0.1454746
217                                           2.396537                                          0.1454746
218                                           2.396537                                          0.1454746
219                                           2.396537                                          0.1454746
220                                           2.396537                                          0.1454746
221                                           2.396537                                          0.1454746
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                            -1.325835                                           3.354634
4                                            -1.325835                                           3.354634
11                                           -1.325835                                           3.354634
12                                           -1.325835                                           3.354634
19                                           -1.325835                                           3.354634
20                                           -1.325835                                           3.354634
26                                           -1.325835                                           3.354634
27                                           -1.325835                                           3.354634
35                                           -1.325835                                           3.354634
36                                           -1.325835                                           3.354634
41                                           -1.325835                                           3.354634
42                                           -1.325835                                           3.354634
43                                           -1.325835                                           3.354634
44                                           -1.325835                                           3.354634
45                                           -1.325835                                           3.354634
46                                           -1.325835                                           3.354634
201                                          -1.325835                                           3.354634
202                                          -1.325835                                           3.354634
203                                          -1.325835                                           3.354634
204                                          -1.325835                                           3.354634
209                                          -1.325835                                           3.354634
210                                          -1.325835                                           3.354634
211                                          -1.325835                                           3.354634
212                                          -1.325835                                           3.354634
213                                          -1.325835                                           3.354634
214                                          -1.325835                                           3.354634
217                                          -1.325835                                           3.354634
218                                          -1.325835                                           3.354634
219                                          -1.325835                                           3.354634
220                                          -1.325835                                           3.354634
221                                          -1.325835                                           3.354634
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
AFDWfig<-ggplot(phys, aes(y=AFDW_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Total~biomass~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
AFDWfig

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
AFDW_stress_fig<-ggplot(phys_stress, aes(y=AFDW_mg.cm.2, x=Months, color=Bleach, fill=Bleach))+ 
 geom_point(data=phys_stress,aes(y=AFDW_mg.cm.2, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=AFDW_mg.cm.2, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  #geom_point(size=1.5, position= pd)+
  #geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Total~biomass~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
AFDW_stress_fig

library(Rmisc)
AFDW_sum<-summarySE(phys, measurevar='AFDW_mg.cm.2', groupvars=c('Date'), na.rm=TRUE, conf.interval = 0.95)
AFDW_sum
AFDWfig_3<-ggplot(AFDW_sum, aes(y=AFDW_mg.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=AFDW_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=AFDW_mg.cm.2-se, ymax=AFDW_mg.cm.2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(AFDW~(mg~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
AFDWfig_3

##Lipids ###Normality

hist(phys$Lipid..g.per.cm2.)

lipid.lm<- lm(Lipid..g.per.cm2.~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(lipid.lm, ask=FALSE, which=1:6)

###Stats

lipid.lme <- lme(Lipid..g.per.cm2.~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(lipid.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, SpeciesPorites compressa:Months10, BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months10Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Lipid..g.per.cm2.
                        Chisq Df Pr(>Chisq)    
(Intercept)           42.9681  1  5.564e-11 ***
Species                1.1903  1  0.2752703    
Bleach                 0.4293  1  0.5123488    
Months                26.2142  6  0.0002031 ***
Species:Bleach         0.2500  1  0.6170538    
Species:Months        25.1997  6  0.0003136 ***
Bleach:Months          5.1717  6  0.5219914    
Species:Bleach:Months 14.8464  6  0.0214855 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(lipid.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean    SE df lower.CL upper.CL
 Montipora capitata 10       8.75 0.954 41     6.82    10.68
 Porites compressa  10      10.23 0.899 40     8.41    12.05
 Montipora capitata 12       3.24 0.848 41     1.53     4.95
 Porites compressa  12       5.50 0.894 40     3.69     7.30
 Montipora capitata 17       6.61 0.871 41     4.86     8.37
 Porites compressa  17      11.13 0.934 40     9.24    13.02
 Montipora capitata 20       7.19 0.871 41     5.44     8.95
 Porites compressa  20      12.60 0.894 40    10.79    14.40
 Montipora capitata 24       4.37 0.920 41     2.51     6.23
 Porites compressa  24       7.08 1.052 40     4.96     9.21
 Montipora capitata 29       7.58 0.893 41     5.78     9.39
 Porites compressa  29       9.31 0.947 40     7.39    11.22
 Montipora capitata 35      11.22 1.183 41     8.84    13.61
 Porites compressa  35       7.11 1.266 40     4.55     9.66

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate   SE  df t.ratio p.value
 Months10 - Months12   5.5106 1.24 161   4.458  0.0003
 Months10 - Months17   2.1337 1.25 161   1.707  0.6125
 Months10 - Months20   1.5547 1.25 161   1.241  0.8769
 Months10 - Months24   4.3770 1.28 161   3.417  0.0139
 Months10 - Months29   1.1643 1.26 161   0.921  0.9687
 Months10 - Months35  -2.4760 1.49 161  -1.660  0.6437
 Months12 - Months17  -3.3768 1.17 161  -2.878  0.0668
 Months12 - Months20  -3.9558 1.17 161  -3.372  0.0160
 Months12 - Months24  -1.1335 1.21 161  -0.937  0.9660
 Months12 - Months29  -4.3463 1.19 161  -3.653  0.0063
 Months12 - Months35  -7.9866 1.43 161  -5.596  <.0001
 Months17 - Months20  -0.5790 1.19 161  -0.487  0.9990
 Months17 - Months24   2.2433 1.22 161   1.832  0.5287
 Months17 - Months29  -0.9694 1.20 161  -0.805  0.9842
 Months17 - Months35  -4.6098 1.44 161  -3.202  0.0269
 Months20 - Months24   2.8223 1.23 161   2.300  0.2503
 Months20 - Months29  -0.3905 1.21 161  -0.324  0.9999
 Months20 - Months35  -4.0308 1.44 161  -2.799  0.0820
 Months24 - Months29  -3.2127 1.24 161  -2.594  0.1349
 Months24 - Months35  -6.8531 1.47 161  -4.657  0.0001
 Months29 - Months35  -3.6403 1.45 161  -2.507  0.1637

Species = Porites compressa:
 2                   estimate   SE  df t.ratio p.value
 Months10 - Months12   4.7338 1.22 161   3.871  0.0029
 Months10 - Months17  -0.8993 1.25 161  -0.718  0.9913
 Months10 - Months20  -2.3651 1.22 161  -1.934  0.4610
 Months10 - Months24   3.1486 1.34 161   2.345  0.2296
 Months10 - Months29   0.9243 1.26 161   0.732  0.9904
 Months10 - Months35   3.1257 1.52 161   2.052  0.3867
 Months12 - Months17  -5.6331 1.25 161  -4.512  0.0002
 Months12 - Months20  -7.0990 1.22 161  -5.825  <.0001
 Months12 - Months24  -1.5852 1.34 161  -1.184  0.8994
 Months12 - Months29  -3.8096 1.26 161  -3.027  0.0446
 Months12 - Months35  -1.6082 1.52 161  -1.058  0.9392
 Months17 - Months20  -1.4659 1.25 161  -1.174  0.9029
 Months17 - Months24   4.0479 1.37 161   2.960  0.0536
 Months17 - Months29   1.8236 1.29 161   1.416  0.7924
 Months17 - Months35   4.0250 1.54 161   2.609  0.1302
 Months20 - Months24   5.5138 1.34 161   4.117  0.0012
 Months20 - Months29   3.2894 1.26 161   2.614  0.1287
 Months20 - Months35   5.4908 1.52 161   3.613  0.0073
 Months24 - Months29  -2.2243 1.37 161  -1.622  0.6684
 Months24 - Months35  -0.0229 1.62 161  -0.014  1.0000
 Months29 - Months35   2.2014 1.55 161   1.421  0.7897

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 7 estimates 
summary(lipid.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:    1.010679 3.656391

Fixed effects: Lipid..g.per.cm2. ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M12 SPc:M17
SpeciesPorites compressa                           -0.730                                                                                 
BleachNon-bleach                                   -0.749  0.547                                                                          
Months12                                           -0.750  0.548  0.562                                                                   
Months17                                           -0.731  0.534  0.548  0.577                                                            
Months20                                           -0.734  0.536  0.550  0.579  0.564                                                     
Months24                                           -0.709  0.518  0.532  0.560  0.549  0.547                                              
Months29                                           -0.731  0.534  0.548  0.577  0.566  0.564  0.549                                       
Months35                                           -0.590  0.431  0.442  0.460  0.450  0.451  0.433  0.450                                
SpeciesPorites compressa:BleachNon-bleach           0.546 -0.747 -0.729 -0.410 -0.399 -0.401 -0.387 -0.399 -0.322                         
SpeciesPorites compressa:Months12                   0.535 -0.729 -0.401 -0.713 -0.412 -0.413 -0.399 -0.412 -0.328  0.547                  
SpeciesPorites compressa:Months17                   0.511 -0.695 -0.383 -0.403 -0.698 -0.394 -0.383 -0.395 -0.314  0.520    0.536         
SpeciesPorites compressa:Months20                   0.530 -0.721 -0.397 -0.418 -0.407 -0.722 -0.395 -0.407 -0.326  0.540    0.556   0.530 
SpeciesPorites compressa:Months24                   0.500 -0.687 -0.374 -0.395 -0.386 -0.385 -0.704 -0.386 -0.305  0.518    0.528   0.506 
SpeciesPorites compressa:Months29                   0.518 -0.710 -0.388 -0.409 -0.401 -0.400 -0.389 -0.709 -0.319  0.534    0.546   0.523 
SpeciesPorites compressa:Months35                   0.437 -0.597 -0.327 -0.341 -0.333 -0.334 -0.320 -0.333 -0.740  0.446    0.452   0.434 
BleachNon-bleach:Months12                           0.550 -0.401 -0.729 -0.733 -0.423 -0.424 -0.410 -0.423 -0.337  0.531    0.523   0.295 
BleachNon-bleach:Months17                           0.541 -0.395 -0.719 -0.427 -0.740 -0.417 -0.406 -0.418 -0.333  0.524    0.305   0.516 
BleachNon-bleach:Months20                           0.544 -0.397 -0.720 -0.429 -0.418 -0.741 -0.405 -0.418 -0.334  0.525    0.306   0.292 
BleachNon-bleach:Months24                           0.525 -0.383 -0.697 -0.414 -0.406 -0.405 -0.740 -0.406 -0.320  0.508    0.296   0.283 
BleachNon-bleach:Months29                           0.535 -0.391 -0.709 -0.422 -0.414 -0.413 -0.401 -0.731 -0.329  0.517    0.301   0.289 
BleachNon-bleach:Months35                           0.462 -0.337 -0.610 -0.360 -0.352 -0.353 -0.339 -0.352 -0.783  0.444    0.257   0.246 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.390  0.531  0.517  0.520  0.300  0.301  0.291  0.300  0.239 -0.709   -0.730  -0.391 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.382  0.520  0.508  0.302  0.523  0.295  0.287  0.296  0.235 -0.694   -0.401  -0.748 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.388  0.528  0.515  0.307  0.299  0.529  0.290  0.299  0.239 -0.704   -0.409  -0.389 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.360  0.498  0.479  0.285  0.279  0.278  0.508  0.279  0.220 -0.665   -0.382  -0.366 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.377  0.518  0.499  0.297  0.291  0.291  0.283  0.515  0.232 -0.691   -0.398  -0.382 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.323  0.441  0.427  0.252  0.246  0.247  0.237  0.246  0.548 -0.584   -0.335  -0.321 
                                                   SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M12 BN-:M17 BN-:M20 BN-:M24 BN-:M29 BN-:M3 SPc:BN-:M12
SpeciesPorites compressa                                                                                                                    
BleachNon-bleach                                                                                                                            
Months12                                                                                                                                    
Months17                                                                                                                                    
Months20                                                                                                                                    
Months24                                                                                                                                    
Months29                                                                                                                                    
Months35                                                                                                                                    
SpeciesPorites compressa:BleachNon-bleach                                                                                                   
SpeciesPorites compressa:Months12                                                                                                           
SpeciesPorites compressa:Months17                                                                                                           
SpeciesPorites compressa:Months20                                                                                                           
SpeciesPorites compressa:Months24                   0.522                                                                                   
SpeciesPorites compressa:Months29                   0.540   0.519                                                                           
SpeciesPorites compressa:Months35                   0.448   0.424   0.442                                                                   
BleachNon-bleach:Months12                           0.306   0.289   0.300   0.249                                                           
BleachNon-bleach:Months17                           0.301   0.286   0.296   0.246  0.555                                                    
BleachNon-bleach:Months20                           0.535   0.285   0.296   0.247  0.556   0.548                                            
BleachNon-bleach:Months24                           0.292   0.521   0.288   0.237  0.538   0.532   0.531                                    
BleachNon-bleach:Months29                           0.298   0.283   0.518   0.244  0.547   0.541   0.540   0.526                            
BleachNon-bleach:Months35                           0.255   0.239   0.250   0.580  0.465   0.460   0.461   0.445   0.455                    
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.406  -0.386  -0.399  -0.330 -0.710  -0.394  -0.395  -0.382  -0.388  -0.330            
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.397  -0.378  -0.392  -0.325 -0.392  -0.707  -0.387  -0.376  -0.382  -0.325  0.522     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.734  -0.384  -0.397  -0.328 -0.397  -0.391  -0.715  -0.380  -0.386  -0.329  0.531     
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.377  -0.725  -0.378  -0.307 -0.369  -0.365  -0.365  -0.687  -0.361  -0.306  0.497     
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.393  -0.381  -0.730  -0.322 -0.385  -0.381  -0.380  -0.371  -0.704  -0.320  0.517     
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.332  -0.313  -0.327  -0.740 -0.326  -0.322  -0.322  -0.311  -0.318  -0.700  0.435     
                                                   SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                          
BleachNon-bleach                                                                                  
Months12                                                                                          
Months17                                                                                          
Months20                                                                                          
Months24                                                                                          
Months29                                                                                          
Months35                                                                                          
SpeciesPorites compressa:BleachNon-bleach                                                         
SpeciesPorites compressa:Months12                                                                 
SpeciesPorites compressa:Months17                                                                 
SpeciesPorites compressa:Months20                                                                 
SpeciesPorites compressa:Months24                                                                 
SpeciesPorites compressa:Months29                                                                 
SpeciesPorites compressa:Months35                                                                 
BleachNon-bleach:Months12                                                                         
BleachNon-bleach:Months17                                                                         
BleachNon-bleach:Months20                                                                         
BleachNon-bleach:Months24                                                                         
BleachNon-bleach:Months29                                                                         
BleachNon-bleach:Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach:Months12                                                
SpeciesPorites compressa:BleachNon-bleach:Months17                                                
SpeciesPorites compressa:BleachNon-bleach:Months20  0.519                                         
SpeciesPorites compressa:BleachNon-bleach:Months24  0.488       0.494                             
SpeciesPorites compressa:BleachNon-bleach:Months29  0.508       0.514       0.491                 
SpeciesPorites compressa:BleachNon-bleach:Months35  0.427       0.433       0.404       0.423     

Standardized Within-Group Residuals:
       Min         Q1        Med         Q3        Max 
-2.5495646 -0.5922700 -0.1244094  0.3912743  4.4912839 

Number of Observations: 229
Number of Groups: 42 
r.squaredGLMM(lipid.lme)
           R2m       R2c
[1,] 0.3634548 0.4086378

####Coefficients

coef(lipid.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months12  Months17  Months20  Months24  Months29 Months35
3      9.942599                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
4      9.788180                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
11     9.053353                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
12     9.419682                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
19     9.741812                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
20     9.025127                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
26     9.200463                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
27     9.190986                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
41    10.418310                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
42    10.624788                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
43     9.521996                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
44     8.367029                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
45     9.229039                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
46     8.800990                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
201    9.038190                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
202    9.781263                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
203    9.008659                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
204    9.265856                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
209   10.246873                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
210    9.237636                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
211    8.700658                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
212    9.756056                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
213    9.244713                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
214   10.087347                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
217    9.552819                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
218    9.450237                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
219    9.553414                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
220    8.842221                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
221    9.028359                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
222    8.457844                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
225    9.462530                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
229    9.332277                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
230    9.005645                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
235    9.588284                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
237    9.373910                 2.136835        -1.250194 -6.310396 -3.705425 -1.970119 -4.561315 -2.964185 3.170416
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months12 SpeciesPorites compressa:Months17
3                                   -1.309363                        -0.9177666                          3.575922
4                                   -1.309363                        -0.9177666                          3.575922
11                                  -1.309363                        -0.9177666                          3.575922
12                                  -1.309363                        -0.9177666                          3.575922
19                                  -1.309363                        -0.9177666                          3.575922
20                                  -1.309363                        -0.9177666                          3.575922
26                                  -1.309363                        -0.9177666                          3.575922
27                                  -1.309363                        -0.9177666                          3.575922
41                                  -1.309363                        -0.9177666                          3.575922
42                                  -1.309363                        -0.9177666                          3.575922
43                                  -1.309363                        -0.9177666                          3.575922
44                                  -1.309363                        -0.9177666                          3.575922
45                                  -1.309363                        -0.9177666                          3.575922
46                                  -1.309363                        -0.9177666                          3.575922
201                                 -1.309363                        -0.9177666                          3.575922
202                                 -1.309363                        -0.9177666                          3.575922
203                                 -1.309363                        -0.9177666                          3.575922
204                                 -1.309363                        -0.9177666                          3.575922
209                                 -1.309363                        -0.9177666                          3.575922
210                                 -1.309363                        -0.9177666                          3.575922
211                                 -1.309363                        -0.9177666                          3.575922
212                                 -1.309363                        -0.9177666                          3.575922
213                                 -1.309363                        -0.9177666                          3.575922
214                                 -1.309363                        -0.9177666                          3.575922
217                                 -1.309363                        -0.9177666                          3.575922
218                                 -1.309363                        -0.9177666                          3.575922
219                                 -1.309363                        -0.9177666                          3.575922
220                                 -1.309363                        -0.9177666                          3.575922
221                                 -1.309363                        -0.9177666                          3.575922
222                                 -1.309363                        -0.9177666                          3.575922
225                                 -1.309363                        -0.9177666                          3.575922
229                                 -1.309363                        -0.9177666                          3.575922
230                                 -1.309363                        -0.9177666                          3.575922
235                                 -1.309363                        -0.9177666                          3.575922
237                                 -1.309363                        -0.9177666                          3.575922
    SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35
3                            2.932109                        -0.4916699                          3.068148                         -9.934488
4                            2.932109                        -0.4916699                          3.068148                         -9.934488
11                           2.932109                        -0.4916699                          3.068148                         -9.934488
12                           2.932109                        -0.4916699                          3.068148                         -9.934488
19                           2.932109                        -0.4916699                          3.068148                         -9.934488
20                           2.932109                        -0.4916699                          3.068148                         -9.934488
26                           2.932109                        -0.4916699                          3.068148                         -9.934488
27                           2.932109                        -0.4916699                          3.068148                         -9.934488
41                           2.932109                        -0.4916699                          3.068148                         -9.934488
42                           2.932109                        -0.4916699                          3.068148                         -9.934488
43                           2.932109                        -0.4916699                          3.068148                         -9.934488
44                           2.932109                        -0.4916699                          3.068148                         -9.934488
45                           2.932109                        -0.4916699                          3.068148                         -9.934488
46                           2.932109                        -0.4916699                          3.068148                         -9.934488
201                          2.932109                        -0.4916699                          3.068148                         -9.934488
202                          2.932109                        -0.4916699                          3.068148                         -9.934488
203                          2.932109                        -0.4916699                          3.068148                         -9.934488
204                          2.932109                        -0.4916699                          3.068148                         -9.934488
209                          2.932109                        -0.4916699                          3.068148                         -9.934488
210                          2.932109                        -0.4916699                          3.068148                         -9.934488
211                          2.932109                        -0.4916699                          3.068148                         -9.934488
212                          2.932109                        -0.4916699                          3.068148                         -9.934488
213                          2.932109                        -0.4916699                          3.068148                         -9.934488
214                          2.932109                        -0.4916699                          3.068148                         -9.934488
217                          2.932109                        -0.4916699                          3.068148                         -9.934488
218                          2.932109                        -0.4916699                          3.068148                         -9.934488
219                          2.932109                        -0.4916699                          3.068148                         -9.934488
220                          2.932109                        -0.4916699                          3.068148                         -9.934488
221                          2.932109                        -0.4916699                          3.068148                         -9.934488
222                          2.932109                        -0.4916699                          3.068148                         -9.934488
225                          2.932109                        -0.4916699                          3.068148                         -9.934488
229                          2.932109                        -0.4916699                          3.068148                         -9.934488
230                          2.932109                        -0.4916699                          3.068148                         -9.934488
235                          2.932109                        -0.4916699                          3.068148                         -9.934488
237                          2.932109                        -0.4916699                          3.068148                         -9.934488
    BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20 BleachNon-bleach:Months24 BleachNon-bleach:Months29
3                    1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
4                    1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
11                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
12                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
19                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
20                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
26                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
27                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
41                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
42                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
43                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
44                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
45                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
46                   1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
201                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
202                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
203                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
204                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
209                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
210                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
211                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
212                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
213                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
214                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
217                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
218                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
219                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
220                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
221                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
222                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
225                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
229                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
230                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
235                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
237                  1.599679                  3.143435                 0.8308004                 0.3686042                  3.599838
    BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                   -1.388747                                           3.388956                                          -1.085877
4                   -1.388747                                           3.388956                                          -1.085877
11                  -1.388747                                           3.388956                                          -1.085877
12                  -1.388747                                           3.388956                                          -1.085877
19                  -1.388747                                           3.388956                                          -1.085877
20                  -1.388747                                           3.388956                                          -1.085877
26                  -1.388747                                           3.388956                                          -1.085877
27                  -1.388747                                           3.388956                                          -1.085877
41                  -1.388747                                           3.388956                                          -1.085877
42                  -1.388747                                           3.388956                                          -1.085877
43                  -1.388747                                           3.388956                                          -1.085877
44                  -1.388747                                           3.388956                                          -1.085877
45                  -1.388747                                           3.388956                                          -1.085877
46                  -1.388747                                           3.388956                                          -1.085877
201                 -1.388747                                           3.388956                                          -1.085877
202                 -1.388747                                           3.388956                                          -1.085877
203                 -1.388747                                           3.388956                                          -1.085877
204                 -1.388747                                           3.388956                                          -1.085877
209                 -1.388747                                           3.388956                                          -1.085877
210                 -1.388747                                           3.388956                                          -1.085877
211                 -1.388747                                           3.388956                                          -1.085877
212                 -1.388747                                           3.388956                                          -1.085877
213                 -1.388747                                           3.388956                                          -1.085877
214                 -1.388747                                           3.388956                                          -1.085877
217                 -1.388747                                           3.388956                                          -1.085877
218                 -1.388747                                           3.388956                                          -1.085877
219                 -1.388747                                           3.388956                                          -1.085877
220                 -1.388747                                           3.388956                                          -1.085877
221                 -1.388747                                           3.388956                                          -1.085877
222                 -1.388747                                           3.388956                                          -1.085877
225                 -1.388747                                           3.388956                                          -1.085877
229                 -1.388747                                           3.388956                                          -1.085877
230                 -1.388747                                           3.388956                                          -1.085877
235                 -1.388747                                           3.388956                                          -1.085877
237                 -1.388747                                           3.388956                                          -1.085877
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                             1.975481                                           3.440108
4                                             1.975481                                           3.440108
11                                            1.975481                                           3.440108
12                                            1.975481                                           3.440108
19                                            1.975481                                           3.440108
20                                            1.975481                                           3.440108
26                                            1.975481                                           3.440108
27                                            1.975481                                           3.440108
41                                            1.975481                                           3.440108
42                                            1.975481                                           3.440108
43                                            1.975481                                           3.440108
44                                            1.975481                                           3.440108
45                                            1.975481                                           3.440108
46                                            1.975481                                           3.440108
201                                           1.975481                                           3.440108
202                                           1.975481                                           3.440108
203                                           1.975481                                           3.440108
204                                           1.975481                                           3.440108
209                                           1.975481                                           3.440108
210                                           1.975481                                           3.440108
211                                           1.975481                                           3.440108
212                                           1.975481                                           3.440108
213                                           1.975481                                           3.440108
214                                           1.975481                                           3.440108
217                                           1.975481                                           3.440108
218                                           1.975481                                           3.440108
219                                           1.975481                                           3.440108
220                                           1.975481                                           3.440108
221                                           1.975481                                           3.440108
222                                           1.975481                                           3.440108
225                                           1.975481                                           3.440108
229                                           1.975481                                           3.440108
230                                           1.975481                                           3.440108
235                                           1.975481                                           3.440108
237                                           1.975481                                           3.440108
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                            -5.656341                                            8.66553
4                                            -5.656341                                            8.66553
11                                           -5.656341                                            8.66553
12                                           -5.656341                                            8.66553
19                                           -5.656341                                            8.66553
20                                           -5.656341                                            8.66553
26                                           -5.656341                                            8.66553
27                                           -5.656341                                            8.66553
41                                           -5.656341                                            8.66553
42                                           -5.656341                                            8.66553
43                                           -5.656341                                            8.66553
44                                           -5.656341                                            8.66553
45                                           -5.656341                                            8.66553
46                                           -5.656341                                            8.66553
201                                          -5.656341                                            8.66553
202                                          -5.656341                                            8.66553
203                                          -5.656341                                            8.66553
204                                          -5.656341                                            8.66553
209                                          -5.656341                                            8.66553
210                                          -5.656341                                            8.66553
211                                          -5.656341                                            8.66553
212                                          -5.656341                                            8.66553
213                                          -5.656341                                            8.66553
214                                          -5.656341                                            8.66553
217                                          -5.656341                                            8.66553
218                                          -5.656341                                            8.66553
219                                          -5.656341                                            8.66553
220                                          -5.656341                                            8.66553
221                                          -5.656341                                            8.66553
222                                          -5.656341                                            8.66553
225                                          -5.656341                                            8.66553
229                                          -5.656341                                            8.66553
230                                          -5.656341                                            8.66553
235                                          -5.656341                                            8.66553
237                                          -5.656341                                            8.66553
 [ reached 'max' / getOption("max.print") -- omitted 7 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
lipidfig<-ggplot(phys, aes(y=Lipid..g.per.cm2., x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Lipids~(g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
lipidfig

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
lipid_stress_fig<-ggplot(phys_stress, aes(y=Lipid..g.per.cm2., x=Months, color=Bleach, fill=Bleach))+ 
 geom_point(data=phys_stress,aes(y=Lipid..g.per.cm2., x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Lipid..g.per.cm2., x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  #geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  #geom_point(size=1.5, position= pd)+
  #geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Lipids~(g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
lipid_stress_fig

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
lipid_stress_fig<-ggplot(phys_stress, aes(y=Lipid..g.per.cm2., x=Months, color=Bleach, fill=Bleach))+ 
  geom_boxplot(alpha=0.6, color= "black")+
  #geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  #geom_point(size=1.5, position= pd)+
  #geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Lipids~(g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
lipid_stress_fig

lipidfig_3<-ggplot(lipid_sum, aes(y=Lipid..g.per.cm2., x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=lipid_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Lipid..g.per.cm2.-se, ymax=Lipid..g.per.cm2.+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Lipid~(g~'\U2219'~cm^{-2})), limits=c(0,15),breaks=c(0,5,10,15))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
lipidfig_3

##TAC ###Normality

hist(phys$TAC_CRE.mgprotein.1)

tac.lm<- lm(TAC_CRE.mgprotein.1~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(tac.lm, ask=FALSE, which=1:6)

###Stats

tac.lme <- lme(TAC_CRE.mgprotein.1~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(tac.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months35, SpeciesPorites compressa:Months35, BleachNon-bleach:Months35, SpeciesPorites compressa:BleachNon-bleach:Months35Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: TAC_CRE.mgprotein.1
                        Chisq Df Pr(>Chisq)    
(Intercept)            0.0103  1     0.9190    
Species                0.0972  1     0.7553    
Bleach                 0.0013  1     0.9716    
Months                29.7361  6  4.412e-05 ***
Species:Bleach         0.0010  1     0.9749    
Species:Months        10.3506  6     0.1106    
Bleach:Months          2.2436  6     0.8960    
Species:Bleach:Months  1.8121  6     0.9361    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(tac.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean    SE df lower.CL upper.CL
 Montipora capitata 0        2193 12221 39   -22525    26911
 Porites compressa  0        9267 12221 38   -15472    34007
 Montipora capitata 10      11748 13770 39   -16105    39602
 Porites compressa  10      37340 12962 38    11100    63580
 Montipora capitata 12      10633 12221 39   -14086    35351
 Porites compressa  12      62047 12882 38    35970    88124
 Montipora capitata 17      61775 12221 39    37057    86494
 Porites compressa  17      45547 12962 38    19307    71787
 Montipora capitata 20      26684 12555 39     1288    52079
 Porites compressa  20      45007 12882 38    18930    71085
 Montipora capitata 24      89055 12881 39    63000   115110
 Porites compressa  24      67205 14606 38    37637    96772
 Montipora capitata 29       7380 12881 39   -18675    33435
 Porites compressa  29      31989 13663 38     4330    59647

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10     -9555 18340 187  -0.521  0.9985
 Months0 - Months12     -8440 17207 187  -0.491  0.9990
 Months0 - Months17    -59582 17207 187  -3.463  0.0116
 Months0 - Months20    -24491 17446 187  -1.404  0.7993
 Months0 - Months24    -86862 17682 187  -4.912  <.0001
 Months0 - Months29     -5187 17682 187  -0.293  0.9999
 Months10 - Months12     1115 18340 187   0.061  1.0000
 Months10 - Months17   -50027 18340 187  -2.728  0.0971
 Months10 - Months20   -14935 18566 187  -0.804  0.9843
 Months10 - Months24   -77307 18779 187  -4.117  0.0011
 Months10 - Months29     4368 18779 187   0.233  1.0000
 Months12 - Months17   -51142 17207 187  -2.972  0.0512
 Months12 - Months20   -16051 17446 187  -0.920  0.9690
 Months12 - Months24   -78422 17682 187  -4.435  0.0003
 Months12 - Months29     3253 17682 187   0.184  1.0000
 Months17 - Months20    35092 17446 187   2.011  0.4110
 Months17 - Months24   -27280 17682 187  -1.543  0.7186
 Months17 - Months29    54396 17682 187   3.076  0.0382
 Months20 - Months24   -62372 17916 187  -3.481  0.0109
 Months20 - Months29    19304 17916 187   1.077  0.9340
 Months24 - Months29    81676 18138 187   4.503  0.0002

Species = Porites compressa:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10    -28073 17741 187  -1.582  0.6938
 Months0 - Months12    -52780 17682 187  -2.985  0.0494
 Months0 - Months17    -36280 17741 187  -2.045  0.3901
 Months0 - Months20    -35740 17682 187  -2.021  0.4048
 Months0 - Months24    -57937 18975 187  -3.053  0.0408
 Months0 - Months29    -22722 18259 187  -1.244  0.8757
 Months10 - Months12   -24707 18195 187  -1.358  0.8232
 Months10 - Months17    -8207 18251 187  -0.450  0.9994
 Months10 - Months20    -7668 18195 187  -0.421  0.9996
 Months10 - Months24   -29865 19454 187  -1.535  0.7233
 Months10 - Months29     5351 18756 187   0.285  1.0000
 Months12 - Months17    16500 18195 187   0.907  0.9711
 Months12 - Months20    17039 18138 187   0.939  0.9656
 Months12 - Months24    -5158 19400 187  -0.266  1.0000
 Months12 - Months29    30058 18700 187   1.607  0.6778
 Months17 - Months20      539 18195 187   0.030  1.0000
 Months17 - Months24   -21658 19454 187  -1.113  0.9234
 Months17 - Months29    13558 18756 187   0.723  0.9911
 Months20 - Months24   -22197 19400 187  -1.144  0.9135
 Months20 - Months29    13019 18700 187   0.696  0.9927
 Months24 - Months29    35216 19919 187   1.768  0.5713

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 7 estimates 
summary(tac.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:    5110.805 54412.56

Fixed effects: TAC_CRE.mgprotein.1 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 SpPc:BN- SPc:M10 SPc:M12
SpeciesPorites compressa                           -0.707                                                                                 
BleachNon-bleach                                   -0.707  0.500                                                                          
Months10                                           -0.638  0.451  0.451                                                                   
Months12                                           -0.704  0.498  0.498  0.453                                                            
Months17                                           -0.704  0.498  0.498  0.453  0.500                                                     
Months20                                           -0.685  0.484  0.484  0.441  0.487  0.487                                              
Months24                                           -0.685  0.484  0.484  0.442  0.487  0.487  0.473                                       
Months29                                           -0.685  0.484  0.484  0.442  0.487  0.487  0.473  0.474                                
SpeciesPorites compressa:BleachNon-bleach           0.500 -0.707 -0.707 -0.319 -0.352 -0.352 -0.343 -0.343 -0.343                         
SpeciesPorites compressa:Months10                   0.460 -0.651 -0.325 -0.721 -0.327 -0.327 -0.318 -0.318 -0.318  0.460                  
SpeciesPorites compressa:Months12                   0.491 -0.694 -0.347 -0.316 -0.697 -0.349 -0.339 -0.339 -0.339  0.491    0.456         
SpeciesPorites compressa:Months17                   0.483 -0.683 -0.341 -0.311 -0.343 -0.686 -0.334 -0.334 -0.334  0.483    0.449   0.479 
SpeciesPorites compressa:Months20                   0.484 -0.685 -0.343 -0.312 -0.344 -0.344 -0.707 -0.335 -0.335  0.484    0.450   0.480 
SpeciesPorites compressa:Months24                   0.467 -0.661 -0.330 -0.301 -0.332 -0.332 -0.323 -0.682 -0.323  0.468    0.434   0.463 
SpeciesPorites compressa:Months29                   0.476 -0.674 -0.337 -0.307 -0.338 -0.338 -0.329 -0.330 -0.695  0.477    0.443   0.472 
BleachNon-bleach:Months10                           0.467 -0.330 -0.661 -0.732 -0.332 -0.332 -0.323 -0.323 -0.323  0.467    0.527   0.231 
BleachNon-bleach:Months12                           0.498 -0.352 -0.704 -0.321 -0.707 -0.354 -0.344 -0.344 -0.344  0.498    0.231   0.493 
BleachNon-bleach:Months17                           0.498 -0.352 -0.704 -0.321 -0.354 -0.707 -0.344 -0.344 -0.344  0.498    0.231   0.247 
BleachNon-bleach:Months20                           0.491 -0.347 -0.694 -0.316 -0.349 -0.349 -0.717 -0.339 -0.339  0.491    0.228   0.243 
BleachNon-bleach:Months24                           0.484 -0.343 -0.685 -0.312 -0.344 -0.344 -0.335 -0.707 -0.335  0.484    0.225   0.240 
BleachNon-bleach:Months29                           0.484 -0.343 -0.685 -0.312 -0.344 -0.344 -0.335 -0.335 -0.707  0.484    0.225   0.240 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.336  0.475  0.475  0.526  0.238  0.238  0.232  0.232  0.232 -0.672   -0.730  -0.333 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.347  0.491  0.491  0.224  0.493  0.247  0.240  0.240  0.240 -0.694   -0.322  -0.707 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.347  0.490  0.490  0.223  0.246  0.492  0.239  0.239  0.239 -0.693   -0.322  -0.343 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.345  0.488  0.488  0.222  0.245  0.245  0.503  0.238  0.238 -0.690   -0.320  -0.342 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.330  0.467  0.467  0.213  0.234  0.234  0.228  0.482  0.228 -0.661   -0.307  -0.327 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.337  0.477  0.476  0.217  0.239  0.239  0.233  0.233  0.492 -0.674   -0.313  -0.334 
                                                   SPc:M17 SPc:M20 SPc:M24 SPc:M29 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24 BN-:M29
SpeciesPorites compressa                                                                                                          
BleachNon-bleach                                                                                                                  
Months10                                                                                                                          
Months12                                                                                                                          
Months17                                                                                                                          
Months20                                                                                                                          
Months24                                                                                                                          
Months29                                                                                                                          
SpeciesPorites compressa:BleachNon-bleach                                                                                         
SpeciesPorites compressa:Months10                                                                                                 
SpeciesPorites compressa:Months12                                                                                                 
SpeciesPorites compressa:Months17                                                                                                 
SpeciesPorites compressa:Months20                   0.472                                                                         
SpeciesPorites compressa:Months24                   0.455   0.457                                                                 
SpeciesPorites compressa:Months29                   0.464   0.466   0.450                                                         
BleachNon-bleach:Months10                           0.227   0.228   0.220   0.225                                                 
BleachNon-bleach:Months12                           0.242   0.243   0.234   0.239   0.469                                         
BleachNon-bleach:Months17                           0.485   0.243   0.234   0.239   0.469   0.500                                 
BleachNon-bleach:Months20                           0.239   0.507   0.231   0.236   0.463   0.493   0.493                         
BleachNon-bleach:Months24                           0.236   0.237   0.482   0.233   0.457   0.487   0.487   0.480                 
BleachNon-bleach:Months29                           0.236   0.237   0.228   0.492   0.457   0.487   0.487   0.480   0.474         
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.327  -0.328  -0.316  -0.323  -0.719  -0.337  -0.337  -0.332  -0.328  -0.328 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.338  -0.339  -0.327  -0.334  -0.327  -0.697  -0.349  -0.344  -0.339  -0.339 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.718  -0.339  -0.326  -0.333  -0.327  -0.348  -0.696  -0.343  -0.339  -0.339 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.336  -0.712  -0.325  -0.332  -0.325  -0.346  -0.346  -0.702  -0.337  -0.337 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  -0.323  -0.707  -0.319  -0.311  -0.332  -0.332  -0.327  -0.681  -0.323 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.328  -0.329  -0.319  -0.707  -0.318  -0.338  -0.338  -0.334  -0.330  -0.695 
                                                   SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24
SpeciesPorites compressa                                                                                      
BleachNon-bleach                                                                                              
Months10                                                                                                      
Months12                                                                                                      
Months17                                                                                                      
Months20                                                                                                      
Months24                                                                                                      
Months29                                                                                                      
SpeciesPorites compressa:BleachNon-bleach                                                                     
SpeciesPorites compressa:Months10                                                                             
SpeciesPorites compressa:Months12                                                                             
SpeciesPorites compressa:Months17                                                                             
SpeciesPorites compressa:Months20                                                                             
SpeciesPorites compressa:Months24                                                                             
SpeciesPorites compressa:Months29                                                                             
BleachNon-bleach:Months10                                                                                     
BleachNon-bleach:Months12                                                                                     
BleachNon-bleach:Months17                                                                                     
BleachNon-bleach:Months20                                                                                     
BleachNon-bleach:Months24                                                                                     
BleachNon-bleach:Months29                                                                                     
SpeciesPorites compressa:BleachNon-bleach:Months10                                                            
SpeciesPorites compressa:BleachNon-bleach:Months12  0.470                                                     
SpeciesPorites compressa:BleachNon-bleach:Months17  0.470       0.486                                         
SpeciesPorites compressa:BleachNon-bleach:Months20  0.467       0.483       0.482                             
SpeciesPorites compressa:BleachNon-bleach:Months24  0.447       0.463       0.462       0.459                 
SpeciesPorites compressa:BleachNon-bleach:Months29  0.457       0.472       0.471       0.469       0.450     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-1.70732091 -0.27289636 -0.01668892  0.05405441  7.68396464 

Number of Observations: 253
Number of Groups: 40 
r.squaredGLMM(tac.lme)
           R2m       R2c
[1,] 0.1924667 0.1995287

####Coefficients

coef(tac.lme)
tacsum<-summarySE(phys, measurevar = "TAC_CRE.mgprotein.1", groupvars = c("Species", "Months", "Bleach"), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
tacsum

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
tacfig<-ggplot(phys, aes(y=TAC_CRE.mgprotein.1, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(TAC~(mu~mol~CRE~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
tacfig

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
tac_stress_fig<-ggplot(phys_stress, aes(y=TAC_CRE.mgprotein.1, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=TAC_CRE.mgprotein.1, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=TAC_CRE.mgprotein.1, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  #geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  #geom_point(size=1.5, position= pd)+
  #geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(TAC~(mu~mol~CRE~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
tac_stress_fig

library(Rmisc)
tac_sum<-summarySE(phys, measurevar='TAC_CRE.mgprotein.1', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
tac_sum
tacfig_3<-ggplot(tac_sum, aes(y=TAC_CRE.mgprotein.1, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=tac_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=TAC_CRE.mgprotein.1-se, ymax=TAC_CRE.mgprotein.1+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(TAC~(mu~mol~CRE~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
tacfig_3

##Citrate synthase ###Normality

hist(phys$Citrate.synthase.mU.mg.protein.1)

cs.lm<- lm(Citrate.synthase.mU.mg.protein.1~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(cs.lm, ask=FALSE, which=1:6)

###Stats

cs.lme <- lme(Citrate.synthase.mU.mg.protein.1~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(cs.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, SpeciesPorites compressa:Months10, BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months10Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Citrate.synthase.mU.mg.protein.1
                        Chisq Df Pr(>Chisq)    
(Intercept)           63.7819  1  1.390e-15 ***
Species               11.3170  1   0.000768 ***
Bleach                 4.4265  1   0.035384 *  
Months                32.7758  6  1.158e-05 ***
Species:Bleach         2.5453  1   0.110623    
Species:Months        17.7884  6   0.006783 ** 
Bleach:Months         11.9362  6   0.063407 .  
Species:Bleach:Months  5.9425  6   0.429658    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(cs.lme, list(pairwise ~ Bleach), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Bleach`
 Bleach     emmean   SE df lower.CL upper.CL
 Bleach        594 41.0 40      511      677
 Non-bleach    660 40.6 40      577      742

Results are averaged over the levels of: Species, Months 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Bleach`
 1                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)    -65.4 56.1 168  -1.166  0.2452

Results are averaged over the levels of: Species, Months 
Degrees-of-freedom method: containment 
summary(cs.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:    147.5101  270.986

Fixed effects: Citrate.synthase.mU.mg.protein.1 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M12 SPc:M17
SpeciesPorites compressa                           -0.730                                                                                 
BleachNon-bleach                                   -0.745  0.544                                                                          
Months12                                           -0.707  0.516  0.527                                                                   
Months17                                           -0.707  0.516  0.527  0.597                                                            
Months20                                           -0.691  0.504  0.515  0.584  0.584                                                     
Months24                                           -0.686  0.500  0.511  0.579  0.579  0.566                                              
Months29                                           -0.686  0.500  0.511  0.579  0.579  0.566  0.569                                       
Months35                                           -0.559  0.408  0.417  0.453  0.453  0.446  0.444  0.444                                
SpeciesPorites compressa:BleachNon-bleach           0.547 -0.740 -0.734 -0.386 -0.386 -0.378 -0.375 -0.375 -0.306                         
SpeciesPorites compressa:Months12                   0.505 -0.684 -0.376 -0.715 -0.427 -0.417 -0.414 -0.414 -0.324  0.516                  
SpeciesPorites compressa:Months17                   0.499 -0.671 -0.372 -0.422 -0.706 -0.412 -0.409 -0.409 -0.320  0.503    0.555         
SpeciesPorites compressa:Months20                   0.500 -0.677 -0.373 -0.423 -0.423 -0.724 -0.410 -0.410 -0.323  0.510    0.559   0.549 
SpeciesPorites compressa:Months24                   0.475 -0.657 -0.354 -0.401 -0.401 -0.392 -0.693 -0.394 -0.308  0.501    0.537   0.525 
SpeciesPorites compressa:Months29                   0.485 -0.668 -0.361 -0.410 -0.410 -0.400 -0.402 -0.707 -0.314  0.508    0.547   0.536 
SpeciesPorites compressa:Months35                   0.434 -0.588 -0.324 -0.352 -0.352 -0.346 -0.345 -0.345 -0.776  0.438    0.464   0.458 
BleachNon-bleach:Months12                           0.518 -0.378 -0.681 -0.734 -0.438 -0.428 -0.425 -0.425 -0.333  0.499    0.524   0.309 
BleachNon-bleach:Months17                           0.518 -0.378 -0.681 -0.438 -0.734 -0.428 -0.425 -0.425 -0.333  0.499    0.313   0.518 
BleachNon-bleach:Months20                           0.513 -0.375 -0.672 -0.434 -0.434 -0.743 -0.420 -0.420 -0.332  0.493    0.310   0.306 
BleachNon-bleach:Months24                           0.502 -0.367 -0.658 -0.424 -0.424 -0.414 -0.733 -0.417 -0.325  0.483    0.303   0.300 
BleachNon-bleach:Months29                           0.502 -0.367 -0.658 -0.424 -0.424 -0.414 -0.417 -0.733 -0.325  0.483    0.303   0.300 
BleachNon-bleach:Months35                           0.441 -0.322 -0.572 -0.357 -0.357 -0.352 -0.350 -0.350 -0.788  0.420    0.255   0.252 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.368  0.497  0.483  0.521  0.311  0.304  0.302  0.302  0.236 -0.663   -0.731  -0.405 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.369  0.496  0.484  0.312  0.522  0.305  0.302  0.302  0.237 -0.661   -0.411  -0.740 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.367  0.495  0.481  0.310  0.310  0.532  0.301  0.301  0.237 -0.659   -0.412  -0.403 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.344  0.480  0.451  0.291  0.291  0.284  0.502  0.286  0.223 -0.640   -0.391  -0.381 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.352  0.488  0.461  0.297  0.297  0.290  0.292  0.513  0.228 -0.650   -0.399  -0.389 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.323  0.437  0.420  0.262  0.262  0.258  0.257  0.257  0.578 -0.571   -0.347  -0.341 
                                                   SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M12 BN-:M17 BN-:M20 BN-:M24 BN-:M29 BN-:M3 SPc:BN-:M12
SpeciesPorites compressa                                                                                                                    
BleachNon-bleach                                                                                                                            
Months12                                                                                                                                    
Months17                                                                                                                                    
Months20                                                                                                                                    
Months24                                                                                                                                    
Months29                                                                                                                                    
Months35                                                                                                                                    
SpeciesPorites compressa:BleachNon-bleach                                                                                                   
SpeciesPorites compressa:Months12                                                                                                           
SpeciesPorites compressa:Months17                                                                                                           
SpeciesPorites compressa:Months20                                                                                                           
SpeciesPorites compressa:Months24                   0.530                                                                                   
SpeciesPorites compressa:Months29                   0.540   0.532                                                                           
SpeciesPorites compressa:Months35                   0.461   0.447   0.456                                                                   
BleachNon-bleach:Months12                           0.310   0.295   0.300   0.258                                                           
BleachNon-bleach:Months17                           0.310   0.295   0.300   0.258  0.566                                                    
BleachNon-bleach:Months20                           0.538   0.291   0.297   0.257  0.559   0.559                                            
BleachNon-bleach:Months24                           0.300   0.508   0.295   0.252  0.548   0.548   0.541                                    
BleachNon-bleach:Months29                           0.300   0.289   0.518   0.252  0.548   0.548   0.541   0.537                            
BleachNon-bleach:Months35                           0.255   0.242   0.247   0.612  0.459   0.459   0.455   0.449   0.449                    
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.409  -0.393  -0.400  -0.339 -0.710  -0.402  -0.397  -0.389  -0.389  -0.326            
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.406  -0.388  -0.396  -0.338 -0.403  -0.711  -0.398  -0.390  -0.390  -0.326  0.533     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.736  -0.391  -0.398  -0.338 -0.400  -0.400  -0.716  -0.387  -0.387  -0.326  0.535     
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.386  -0.732  -0.393  -0.326 -0.375  -0.375  -0.371  -0.686  -0.368  -0.308  0.506     
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.394  -0.394  -0.733  -0.334 -0.384  -0.384  -0.379  -0.376  -0.700  -0.314  0.517     
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.345  -0.333  -0.340  -0.745 -0.337  -0.337  -0.334  -0.329  -0.329  -0.734  0.449     
                                                   SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                          
BleachNon-bleach                                                                                  
Months12                                                                                          
Months17                                                                                          
Months20                                                                                          
Months24                                                                                          
Months29                                                                                          
Months35                                                                                          
SpeciesPorites compressa:BleachNon-bleach                                                         
SpeciesPorites compressa:Months12                                                                 
SpeciesPorites compressa:Months17                                                                 
SpeciesPorites compressa:Months20                                                                 
SpeciesPorites compressa:Months24                                                                 
SpeciesPorites compressa:Months29                                                                 
SpeciesPorites compressa:Months35                                                                 
BleachNon-bleach:Months12                                                                         
BleachNon-bleach:Months17                                                                         
BleachNon-bleach:Months20                                                                         
BleachNon-bleach:Months24                                                                         
BleachNon-bleach:Months29                                                                         
BleachNon-bleach:Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach:Months12                                                
SpeciesPorites compressa:BleachNon-bleach:Months17                                                
SpeciesPorites compressa:BleachNon-bleach:Months20  0.530                                         
SpeciesPorites compressa:BleachNon-bleach:Months24  0.500       0.503                             
SpeciesPorites compressa:BleachNon-bleach:Months29  0.511       0.513       0.508                 
SpeciesPorites compressa:BleachNon-bleach:Months35  0.447       0.447       0.427       0.438     

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-3.348464786 -0.354082809  0.005359321  0.316483114  3.299113814 

Number of Observations: 236
Number of Groups: 42 
r.squaredGLMM(cs.lme)
           R2m       R2c
[1,] 0.6089081 0.6983043

####Coefficients

coef(cs.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months12 Months17 Months20 Months24  Months29  Months35
3      952.9915                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
4      725.5172                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
11    1053.7148                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
12    1295.5008                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
19     733.5192                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
20     739.0457                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
26     909.5442                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
27     882.9563                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
41     914.8362                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
42     909.7585                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
43     881.2889                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
44     921.8109                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
45     877.4851                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
46     881.5128                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
201    837.3597                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
202    989.5658                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
203   1168.4724                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
204    968.6623                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
209    740.9547                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
210    910.4040                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
211    709.1354                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
212    798.8933                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
213   1016.8532                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
214    938.5842                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
217    917.8969                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
218    836.5665                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
219   1016.8212                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
220    967.9980                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
221    878.3537                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
222    855.3350                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
225    903.1398                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
229   1017.8689                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
230    948.7124                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
235    907.4590                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
237    932.0321                -526.0491          322.115 -357.0817 30.47163 346.6183 10.16964 -54.79992 -106.1453
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months12 SpeciesPorites compressa:Months17
3                                   -332.9044                          83.28831                         -285.1716
4                                   -332.9044                          83.28831                         -285.1716
11                                  -332.9044                          83.28831                         -285.1716
12                                  -332.9044                          83.28831                         -285.1716
19                                  -332.9044                          83.28831                         -285.1716
20                                  -332.9044                          83.28831                         -285.1716
26                                  -332.9044                          83.28831                         -285.1716
27                                  -332.9044                          83.28831                         -285.1716
41                                  -332.9044                          83.28831                         -285.1716
42                                  -332.9044                          83.28831                         -285.1716
43                                  -332.9044                          83.28831                         -285.1716
44                                  -332.9044                          83.28831                         -285.1716
45                                  -332.9044                          83.28831                         -285.1716
46                                  -332.9044                          83.28831                         -285.1716
201                                 -332.9044                          83.28831                         -285.1716
202                                 -332.9044                          83.28831                         -285.1716
203                                 -332.9044                          83.28831                         -285.1716
204                                 -332.9044                          83.28831                         -285.1716
209                                 -332.9044                          83.28831                         -285.1716
210                                 -332.9044                          83.28831                         -285.1716
211                                 -332.9044                          83.28831                         -285.1716
212                                 -332.9044                          83.28831                         -285.1716
213                                 -332.9044                          83.28831                         -285.1716
214                                 -332.9044                          83.28831                         -285.1716
217                                 -332.9044                          83.28831                         -285.1716
218                                 -332.9044                          83.28831                         -285.1716
219                                 -332.9044                          83.28831                         -285.1716
220                                 -332.9044                          83.28831                         -285.1716
221                                 -332.9044                          83.28831                         -285.1716
222                                 -332.9044                          83.28831                         -285.1716
225                                 -332.9044                          83.28831                         -285.1716
229                                 -332.9044                          83.28831                         -285.1716
230                                 -332.9044                          83.28831                         -285.1716
235                                 -332.9044                          83.28831                         -285.1716
237                                 -332.9044                          83.28831                         -285.1716
    SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35
3                           -436.1449                          -124.891                         -80.05829                          344.5779
4                           -436.1449                          -124.891                         -80.05829                          344.5779
11                          -436.1449                          -124.891                         -80.05829                          344.5779
12                          -436.1449                          -124.891                         -80.05829                          344.5779
19                          -436.1449                          -124.891                         -80.05829                          344.5779
20                          -436.1449                          -124.891                         -80.05829                          344.5779
26                          -436.1449                          -124.891                         -80.05829                          344.5779
27                          -436.1449                          -124.891                         -80.05829                          344.5779
41                          -436.1449                          -124.891                         -80.05829                          344.5779
42                          -436.1449                          -124.891                         -80.05829                          344.5779
43                          -436.1449                          -124.891                         -80.05829                          344.5779
44                          -436.1449                          -124.891                         -80.05829                          344.5779
45                          -436.1449                          -124.891                         -80.05829                          344.5779
46                          -436.1449                          -124.891                         -80.05829                          344.5779
201                         -436.1449                          -124.891                         -80.05829                          344.5779
202                         -436.1449                          -124.891                         -80.05829                          344.5779
203                         -436.1449                          -124.891                         -80.05829                          344.5779
204                         -436.1449                          -124.891                         -80.05829                          344.5779
209                         -436.1449                          -124.891                         -80.05829                          344.5779
210                         -436.1449                          -124.891                         -80.05829                          344.5779
211                         -436.1449                          -124.891                         -80.05829                          344.5779
212                         -436.1449                          -124.891                         -80.05829                          344.5779
213                         -436.1449                          -124.891                         -80.05829                          344.5779
214                         -436.1449                          -124.891                         -80.05829                          344.5779
217                         -436.1449                          -124.891                         -80.05829                          344.5779
218                         -436.1449                          -124.891                         -80.05829                          344.5779
219                         -436.1449                          -124.891                         -80.05829                          344.5779
220                         -436.1449                          -124.891                         -80.05829                          344.5779
221                         -436.1449                          -124.891                         -80.05829                          344.5779
222                         -436.1449                          -124.891                         -80.05829                          344.5779
225                         -436.1449                          -124.891                         -80.05829                          344.5779
229                         -436.1449                          -124.891                         -80.05829                          344.5779
230                         -436.1449                          -124.891                         -80.05829                          344.5779
235                         -436.1449                          -124.891                         -80.05829                          344.5779
237                         -436.1449                          -124.891                         -80.05829                          344.5779
    BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20 BleachNon-bleach:Months24 BleachNon-bleach:Months29
3                   -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
4                   -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
11                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
12                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
19                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
20                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
26                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
27                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
41                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
42                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
43                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
44                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
45                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
46                  -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
201                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
202                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
203                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
204                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
209                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
210                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
211                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
212                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
213                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
214                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
217                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
218                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
219                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
220                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
221                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
222                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
225                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
229                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
230                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
235                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
237                 -134.8073                 -445.6604                 -383.2454                  25.53363                 -270.3321
    BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                   -179.2011                                           151.0806                                           442.3094
4                   -179.2011                                           151.0806                                           442.3094
11                  -179.2011                                           151.0806                                           442.3094
12                  -179.2011                                           151.0806                                           442.3094
19                  -179.2011                                           151.0806                                           442.3094
20                  -179.2011                                           151.0806                                           442.3094
26                  -179.2011                                           151.0806                                           442.3094
27                  -179.2011                                           151.0806                                           442.3094
41                  -179.2011                                           151.0806                                           442.3094
42                  -179.2011                                           151.0806                                           442.3094
43                  -179.2011                                           151.0806                                           442.3094
44                  -179.2011                                           151.0806                                           442.3094
45                  -179.2011                                           151.0806                                           442.3094
46                  -179.2011                                           151.0806                                           442.3094
201                 -179.2011                                           151.0806                                           442.3094
202                 -179.2011                                           151.0806                                           442.3094
203                 -179.2011                                           151.0806                                           442.3094
204                 -179.2011                                           151.0806                                           442.3094
209                 -179.2011                                           151.0806                                           442.3094
210                 -179.2011                                           151.0806                                           442.3094
211                 -179.2011                                           151.0806                                           442.3094
212                 -179.2011                                           151.0806                                           442.3094
213                 -179.2011                                           151.0806                                           442.3094
214                 -179.2011                                           151.0806                                           442.3094
217                 -179.2011                                           151.0806                                           442.3094
218                 -179.2011                                           151.0806                                           442.3094
219                 -179.2011                                           151.0806                                           442.3094
220                 -179.2011                                           151.0806                                           442.3094
221                 -179.2011                                           151.0806                                           442.3094
222                 -179.2011                                           151.0806                                           442.3094
225                 -179.2011                                           151.0806                                           442.3094
229                 -179.2011                                           151.0806                                           442.3094
230                 -179.2011                                           151.0806                                           442.3094
235                 -179.2011                                           151.0806                                           442.3094
237                 -179.2011                                           151.0806                                           442.3094
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                             443.1745                                           6.070277
4                                             443.1745                                           6.070277
11                                            443.1745                                           6.070277
12                                            443.1745                                           6.070277
19                                            443.1745                                           6.070277
20                                            443.1745                                           6.070277
26                                            443.1745                                           6.070277
27                                            443.1745                                           6.070277
41                                            443.1745                                           6.070277
42                                            443.1745                                           6.070277
43                                            443.1745                                           6.070277
44                                            443.1745                                           6.070277
45                                            443.1745                                           6.070277
46                                            443.1745                                           6.070277
201                                           443.1745                                           6.070277
202                                           443.1745                                           6.070277
203                                           443.1745                                           6.070277
204                                           443.1745                                           6.070277
209                                           443.1745                                           6.070277
210                                           443.1745                                           6.070277
211                                           443.1745                                           6.070277
212                                           443.1745                                           6.070277
213                                           443.1745                                           6.070277
214                                           443.1745                                           6.070277
217                                           443.1745                                           6.070277
218                                           443.1745                                           6.070277
219                                           443.1745                                           6.070277
220                                           443.1745                                           6.070277
221                                           443.1745                                           6.070277
222                                           443.1745                                           6.070277
225                                           443.1745                                           6.070277
229                                           443.1745                                           6.070277
230                                           443.1745                                           6.070277
235                                           443.1745                                           6.070277
237                                           443.1745                                           6.070277
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                             282.1583                                           186.8777
4                                             282.1583                                           186.8777
11                                            282.1583                                           186.8777
12                                            282.1583                                           186.8777
19                                            282.1583                                           186.8777
20                                            282.1583                                           186.8777
26                                            282.1583                                           186.8777
27                                            282.1583                                           186.8777
41                                            282.1583                                           186.8777
42                                            282.1583                                           186.8777
43                                            282.1583                                           186.8777
44                                            282.1583                                           186.8777
45                                            282.1583                                           186.8777
46                                            282.1583                                           186.8777
201                                           282.1583                                           186.8777
202                                           282.1583                                           186.8777
203                                           282.1583                                           186.8777
204                                           282.1583                                           186.8777
209                                           282.1583                                           186.8777
210                                           282.1583                                           186.8777
211                                           282.1583                                           186.8777
212                                           282.1583                                           186.8777
213                                           282.1583                                           186.8777
214                                           282.1583                                           186.8777
217                                           282.1583                                           186.8777
218                                           282.1583                                           186.8777
219                                           282.1583                                           186.8777
220                                           282.1583                                           186.8777
221                                           282.1583                                           186.8777
222                                           282.1583                                           186.8777
225                                           282.1583                                           186.8777
229                                           282.1583                                           186.8777
230                                           282.1583                                           186.8777
235                                           282.1583                                           186.8777
237                                           282.1583                                           186.8777
 [ reached 'max' / getOption("max.print") -- omitted 7 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
csfig<-ggplot(phys, aes(y=Citrate.synthase.mU.mg.protein.1, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_wrap(~Species, scales="free")+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(CS~Specific~Activity~(mU~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
csfig

csfig2<-ggplot(phys, aes(y=Citrate.synthase.mU.mg.protein.1, x=Sym.density_10.6cells.cm.2, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="lm")+
  facet_grid(~Species)+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
csfig2 ##this follows the patterns seen in Hawkins et al 2016

csfig3<-ggplot(phys, aes(y=Rabs, x=Citrate.synthase.mU.mg.protein.1, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="lm")+
  #geom_hline(yintercept = 0, linetype="solid", color = 'black', size=0.7, show.legend = TRUE)+
  facet_wrap(~Species, scales = "free")+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
csfig3 ##this follows the patterns seen in Hawkins et al 2016

csfig3<-ggplot(phys, aes(y=Rabs, x=Citrate.synthase.mU.mg.protein.1, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="lm")+
  #geom_hline(yintercept = 0, linetype="solid", color = 'black', size=0.7, show.legend = TRUE)+
  facet_wrap(~Species, scales = "free")+
  scale_y_continuous(expression(Respiration~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})))+
  scale_x_continuous(expression(CS~Specific~Activity~(mU~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
csfig3 ##this follows the patterns seen in Hawkins et al 2016

csfig4<-ggplot(phys, aes(y=Rabs, x=Citrate.synthase.mU.mg.protein.1))+ 
  geom_point(aes(color=Bleach),alpha=0.4)+
  geom_smooth(method="lm",color = 'black',)+
  #geom_hline(yintercept = 0, linetype="solid",  size=0.7, show.legend = TRUE)+
  #facet_wrap(~Species, scales = "free")+
  scale_y_continuous(expression(Respiration~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})))+
  scale_x_continuous(expression(CS~Specific~Activity~(mU~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
csfig4 ##this follows the patterns seen in Hawkins et al 2016

csfigs<-cowplot::plot_grid(csfig4, csfig3, nrow = 1, ncol = 2, rel_heights = c(1,2.5), labels=c('(a)','(b)'))
`geom_smooth()` using formula 'y ~ x'
Warning: Removed 252 rows containing non-finite values (stat_smooth).Warning: Removed 252 rows containing missing values (geom_point).`geom_smooth()` using formula 'y ~ x'
Warning: Removed 252 rows containing non-finite values (stat_smooth).Warning: Removed 252 rows containing missing values (geom_point).
csfigs

pd<- position_dodge(0.3)
#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
cs_stress_fig<-ggplot(phys_stress, aes(y=Citrate.synthase.mU.mg.protein.1, x=Months, color=Bleach, fill=Bleach))+ 
  geom_boxplot(alpha=0.6)+
  #geom_point(data=phys_stress,aes(y=Protein_mg.cm.2, x=Months, color=Bleach), alpha=0.6)+
  #geom_point(size=1.5, position= pd)+
  #geom_errorbar(aes(ymin=Protein_mg.cm.2-se, ymax=Protein_mg.cm.2+se), stat="identity",width=0.5, position=pd)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(CS~Specific~Activity~(U~'\U2219'~mg~protein^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
cs_stress_fig

library(Rmisc)
cs_sum<-summarySE(phys, measurevar='Citrate.synthase.mU.mg.protein.1', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
cs_sum
sym.lme <- lme(Sym.density_10.6cells.cm.2~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
Anova(sym.lme, type=3)
Analysis of Deviance Table (Type III tests)

Response: Sym.density_10.6cells.cm.2
                        Chisq Df Pr(>Chisq)  
(Intercept)            1.3357  1    0.24779  
Species                2.0611  1    0.15111  
Bleach                 1.1467  1    0.28424  
Months                14.9134  7    0.03713 *
Species:Bleach         0.7858  1    0.37539  
Species:Months        16.3885  7    0.02179 *
Bleach:Months          1.2918  7    0.98866  
Species:Bleach:Months  3.8918  7    0.79215  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(sym.lme, list(pairwise ~ Species:Bleach), adjust = "tukey", simple="Bleach")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Bleach`
 Species            Bleach     emmean    SE df lower.CL upper.CL
 Montipora capitata Bleach       1.36 0.152 43     1.05     1.67
 Porites compressa  Bleach       2.78 0.149 42     2.48     3.08
 Montipora capitata Non-bleach   1.97 0.144 43     1.68     2.26
 Porites compressa  Non-bleach   2.65 0.150 42     2.35     2.96

Results are averaged over the levels of: Months 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Bleach | Species`
Species = Montipora capitata:
 2                     estimate    SE  df t.ratio p.value
 Bleach - (Non-bleach)   -0.612 0.209 202  -2.922  0.0039

Species = Porites compressa:
 2                     estimate    SE  df t.ratio p.value
 Bleach - (Non-bleach)    0.125 0.207 202   0.604  0.5463

Results are averaged over the levels of: Months 
Degrees-of-freedom method: containment 
csfigs<-cowplot::plot_grid(csfig, csfig2, nrow = 2, ncol = 1)
Warning: Removed 80 rows containing non-finite values (stat_smooth).Warning: Removed 80 rows containing missing values (geom_point).`geom_smooth()` using formula 'y ~ x'
Warning: Removed 80 rows containing non-finite values (stat_smooth).Warning: Removed 80 rows containing missing values (geom_point).
csfigs

##Symbiont density ###Normality

hist(phys$Sym.density_10.6cells.cm.2)

sym.lm<- lm(Sym.density_10.6cells.cm.2~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(sym.lm, ask=FALSE, which=1:6)

###Stats

sym.lme <- lme(Sym.density_10.6cells.cm.2~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(sym.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Sym.density_10.6cells.cm.2
                        Chisq Df Pr(>Chisq)  
(Intercept)            1.3357  1    0.24779  
Species                2.0611  1    0.15111  
Bleach                 1.1467  1    0.28424  
Months                14.9134  7    0.03713 *
Species:Bleach         0.7858  1    0.37539  
Species:Months        16.3885  7    0.02179 *
Bleach:Months          1.2918  7    0.98866  
Species:Bleach:Months  3.8918  7    0.79215  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(sym.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean    SE df lower.CL upper.CL
 Montipora capitata 0       0.619 0.229 43    0.158     1.08
 Porites compressa  0       0.989 0.229 42    0.527     1.45
 Montipora capitata 10      1.523 0.257 43    1.004     2.04
 Porites compressa  10      2.979 0.243 42    2.490     3.47
 Montipora capitata 12      1.438 0.229 43    0.977     1.90
 Porites compressa  12      2.082 0.241 42    1.595     2.57
 Montipora capitata 17      1.677 0.229 43    1.216     2.14
 Porites compressa  17      3.554 0.243 42    3.064     4.04
 Montipora capitata 20      1.758 0.235 43    1.285     2.23
 Porites compressa  20      2.731 0.241 42    2.244     3.22
 Montipora capitata 24      1.729 0.241 43    1.243     2.21
 Porites compressa  24      3.626 0.273 42    3.076     4.18
 Montipora capitata 29      2.139 0.241 43    1.653     2.62
 Porites compressa  29      2.782 0.255 42    2.266     3.30
 Montipora capitata 35      2.442 0.319 43    1.799     3.08
 Porites compressa  35      2.989 0.298 42    2.388     3.59

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10   -0.9041 0.333 202  -2.716  0.1239
 Months0 - Months12   -0.8196 0.311 202  -2.631  0.1510
 Months0 - Months17   -1.0582 0.311 202  -3.397  0.0183
 Months0 - Months20   -1.1395 0.316 202  -3.606  0.0092
 Months0 - Months24   -1.1101 0.321 202  -3.463  0.0148
 Months0 - Months29   -1.5203 0.321 202  -4.743  0.0001
 Months0 - Months35   -1.8228 0.384 202  -4.741  0.0001
 Months10 - Months12   0.0845 0.333 202   0.254  1.0000
 Months10 - Months17  -0.1541 0.333 202  -0.463  0.9998
 Months10 - Months20  -0.2354 0.337 202  -0.698  0.9970
 Months10 - Months24  -0.2060 0.340 202  -0.605  0.9988
 Months10 - Months29  -0.6162 0.340 202  -1.810  0.6141
 Months10 - Months35  -0.9187 0.402 202  -2.287  0.3061
 Months12 - Months17  -0.2386 0.311 202  -0.766  0.9946
 Months12 - Months20  -0.3199 0.316 202  -1.012  0.9722
 Months12 - Months24  -0.2905 0.321 202  -0.906  0.9852
 Months12 - Months29  -0.7007 0.321 202  -2.186  0.3646
 Months12 - Months35  -1.0032 0.384 202  -2.610  0.1586
 Months17 - Months20  -0.0813 0.316 202  -0.257  1.0000
 Months17 - Months24  -0.0519 0.321 202  -0.162  1.0000
 Months17 - Months29  -0.4621 0.321 202  -1.442  0.8367
 Months17 - Months35  -0.7646 0.384 202  -1.989  0.4920
 Months20 - Months24   0.0294 0.325 202   0.091  1.0000
 Months20 - Months29  -0.3808 0.325 202  -1.172  0.9391
 Months20 - Months35  -0.6832 0.388 202  -1.762  0.6466
 Months24 - Months29  -0.4102 0.328 202  -1.249  0.9159
 Months24 - Months35  -0.7127 0.391 202  -1.822  0.6058
 Months29 - Months35  -0.3025 0.391 202  -0.773  0.9943

Species = Porites compressa:
 2                   estimate    SE  df t.ratio p.value
 Months0 - Months10   -1.9907 0.322 202  -6.187  <.0001
 Months0 - Months12   -1.0931 0.321 202  -3.409  0.0176
 Months0 - Months17   -2.5651 0.322 202  -7.972  <.0001
 Months0 - Months20   -1.7420 0.321 202  -5.433  <.0001
 Months0 - Months24   -2.6370 0.345 202  -7.643  <.0001
 Months0 - Months29   -1.7930 0.332 202  -5.408  <.0001
 Months0 - Months35   -2.0007 0.367 202  -5.454  <.0001
 Months10 - Months12   0.8976 0.329 202   2.725  0.1212
 Months10 - Months17  -0.5745 0.330 202  -1.739  0.6618
 Months10 - Months20   0.2487 0.329 202   0.755  0.9951
 Months10 - Months24  -0.6464 0.353 202  -1.830  0.6005
 Months10 - Months29   0.1977 0.340 202   0.581  0.9991
 Months10 - Months35  -0.0101 0.375 202  -0.027  1.0000
 Months12 - Months17  -1.4721 0.329 202  -4.469  0.0003
 Months12 - Months20  -0.6489 0.328 202  -1.976  0.5004
 Months12 - Months24  -1.5440 0.352 202  -4.384  0.0005
 Months12 - Months29  -0.6999 0.339 202  -2.065  0.4414
 Months12 - Months35  -0.9077 0.374 202  -2.429  0.2333
 Months17 - Months20   0.8232 0.329 202   2.499  0.2020
 Months17 - Months24  -0.0719 0.353 202  -0.203  1.0000
 Months17 - Months29   0.7722 0.340 202   2.271  0.3151
 Months17 - Months35   0.5644 0.375 202   1.506  0.8034
 Months20 - Months24  -0.8950 0.352 202  -2.541  0.1843
 Months20 - Months29  -0.0510 0.339 202  -0.150  1.0000
 Months20 - Months35  -0.2587 0.374 202  -0.692  0.9971
 Months24 - Months29   0.8440 0.361 202   2.337  0.2787
 Months24 - Months35   0.6363 0.395 202   1.613  0.7423
 Months29 - Months35  -0.2077 0.382 202  -0.543  0.9994

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 8 estimates 
summary(sym.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)  Residual
StdDev:    0.276743 0.9849971

Fixed effects: Sym.density_10.6cells.cm.2 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.708                                                                                
BleachNon-bleach                                   -0.707  0.500                                                                         
Months10                                           -0.615  0.435  0.435                                                                  
Months12                                           -0.681  0.482  0.481  0.452                                                           
Months17                                           -0.681  0.482  0.481  0.452  0.500                                                    
Months20                                           -0.662  0.468  0.468  0.438  0.486  0.486                                             
Months24                                           -0.662  0.468  0.468  0.442  0.486  0.486  0.472                                      
Months29                                           -0.662  0.468  0.468  0.442  0.486  0.486  0.472  0.475                               
Months35                                           -0.516  0.365  0.365  0.335  0.372  0.372  0.363  0.363  0.363                        
SpeciesPorites compressa:BleachNon-bleach           0.501 -0.707 -0.708 -0.308 -0.341 -0.341 -0.331 -0.331 -0.331 -0.258                 
SpeciesPorites compressa:Months10                   0.443 -0.627 -0.313 -0.721 -0.326 -0.326 -0.316 -0.318 -0.318 -0.242  0.444          
SpeciesPorites compressa:Months12                   0.474 -0.672 -0.335 -0.315 -0.697 -0.348 -0.339 -0.339 -0.339 -0.259  0.475    0.456 
SpeciesPorites compressa:Months17                   0.466 -0.660 -0.330 -0.309 -0.342 -0.685 -0.333 -0.333 -0.333 -0.254  0.467    0.449 
SpeciesPorites compressa:Months20                   0.468 -0.662 -0.331 -0.309 -0.344 -0.344 -0.707 -0.334 -0.334 -0.256  0.469    0.449 
SpeciesPorites compressa:Months24                   0.450 -0.640 -0.318 -0.300 -0.330 -0.330 -0.321 -0.680 -0.323 -0.247  0.455    0.432 
SpeciesPorites compressa:Months29                   0.459 -0.653 -0.325 -0.307 -0.337 -0.337 -0.328 -0.330 -0.694 -0.252  0.464    0.442 
SpeciesPorites compressa:Months35                   0.397 -0.562 -0.281 -0.258 -0.286 -0.286 -0.279 -0.279 -0.279 -0.770  0.397    0.374 
BleachNon-bleach:Months10                           0.450 -0.319 -0.637 -0.733 -0.331 -0.331 -0.321 -0.324 -0.324 -0.245  0.451    0.528 
BleachNon-bleach:Months12                           0.481 -0.341 -0.681 -0.319 -0.707 -0.354 -0.344 -0.344 -0.344 -0.263  0.482    0.230 
BleachNon-bleach:Months17                           0.481 -0.341 -0.681 -0.319 -0.354 -0.707 -0.344 -0.344 -0.344 -0.263  0.482    0.230 
BleachNon-bleach:Months20                           0.475 -0.336 -0.671 -0.314 -0.348 -0.348 -0.717 -0.338 -0.338 -0.260  0.475    0.226 
BleachNon-bleach:Months24                           0.468 -0.331 -0.662 -0.312 -0.344 -0.344 -0.334 -0.707 -0.336 -0.257  0.469    0.225 
BleachNon-bleach:Months29                           0.468 -0.331 -0.662 -0.312 -0.344 -0.344 -0.334 -0.336 -0.707 -0.257  0.469    0.225 
BleachNon-bleach:Months35                           0.398 -0.281 -0.560 -0.258 -0.286 -0.286 -0.280 -0.280 -0.280 -0.771  0.396    0.186 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.324  0.459  0.458  0.526  0.238  0.238  0.230  0.232  0.232  0.176 -0.650   -0.731 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.335  0.475  0.474  0.222  0.493  0.246  0.239  0.239  0.239  0.183 -0.672   -0.322 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.334  0.475  0.473  0.222  0.246  0.491  0.239  0.239  0.239  0.183 -0.672   -0.323 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.333  0.472  0.471  0.220  0.245  0.245  0.503  0.238  0.238  0.183 -0.667   -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.317  0.454  0.449  0.212  0.233  0.233  0.226  0.480  0.228  0.174 -0.642   -0.305 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.324  0.463  0.459  0.216  0.238  0.238  0.231  0.233  0.490  0.178 -0.655   -0.312 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.288  0.407  0.405  0.187  0.207  0.207  0.202  0.202  0.202  0.558 -0.572   -0.271 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.479                                                                                
SpeciesPorites compressa:Months20                   0.481   0.472                                                                        
SpeciesPorites compressa:Months24                   0.462   0.453   0.455                                                                
SpeciesPorites compressa:Months29                   0.472   0.463   0.465   0.454                                                        
SpeciesPorites compressa:Months35                   0.400   0.394   0.395   0.382   0.390                                                
BleachNon-bleach:Months10                           0.230   0.227   0.227   0.220   0.225   0.189                                        
BleachNon-bleach:Months12                           0.493   0.242   0.243   0.233   0.238   0.202  0.468                                 
BleachNon-bleach:Months17                           0.246   0.484   0.243   0.233   0.238   0.202  0.468   0.500                         
BleachNon-bleach:Months20                           0.243   0.239   0.507   0.230   0.235   0.200  0.460   0.493   0.493                 
BleachNon-bleach:Months24                           0.239   0.235   0.236   0.480   0.233   0.197  0.458   0.486   0.486   0.479         
BleachNon-bleach:Months29                           0.239   0.235   0.236   0.228   0.491   0.197  0.458   0.486   0.486   0.479   0.475 
BleachNon-bleach:Months35                           0.200   0.196   0.198   0.190   0.194   0.593  0.380   0.405   0.405   0.400   0.396 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.332  -0.329  -0.327  -0.315  -0.322  -0.274 -0.718  -0.336  -0.336  -0.331  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.707  -0.339  -0.340  -0.326  -0.333  -0.283 -0.326  -0.697  -0.348  -0.343  -0.339 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.344  -0.718  -0.339  -0.325  -0.332  -0.283 -0.325  -0.347  -0.695  -0.342  -0.338 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.342  -0.336  -0.712  -0.324  -0.331  -0.281 -0.323  -0.346  -0.346  -0.702  -0.336 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.326  -0.319  -0.321  -0.708  -0.322  -0.270 -0.310  -0.330  -0.330  -0.325  -0.678 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.333  -0.327  -0.328  -0.322  -0.708  -0.276 -0.317  -0.337  -0.337  -0.332  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.290  -0.285  -0.286  -0.275  -0.282  -0.725 -0.275  -0.293  -0.293  -0.290  -0.286 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.396                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.329  -0.273                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.339  -0.282  0.470                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.338  -0.281  0.471       0.486                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.336  -0.281  0.466       0.484       0.482                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  -0.269  0.445       0.461       0.459       0.457                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.693  -0.274  0.455       0.471       0.469       0.467       0.455                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.286  -0.723  0.397       0.410       0.410       0.407       0.389       0.399     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.65603853 -0.48359457 -0.01075316  0.41785354  5.92981321 

Number of Observations: 276
Number of Groups: 44 
Warning messages:
1: In as.POSIXlt.POSIXct(x, tz) : unknown timezone '%Y-%m-%d hh:mm:ss'
2: In as.POSIXlt.POSIXct(x, tz) : unknown timezone '%Y-%m-%d hh:mm:ss'
r.squaredGLMM(sym.lme)
           R2m       R2c
[1,] 0.4338455 0.4752666
res <- cor.test(phys$Months, phys$Sym.density_10.6cells.cm.2, 
                    method = "pearson")
Error in cor.test.default(phys$Months, phys$Sym.density_10.6cells.cm.2,  : 
  'x' must be a numeric vector

####Coefficients

coef(sym.lme)

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
symfig<-ggplot(phys, aes(y=Sym.density_10.6cells.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Symbiont~density~(10^{6}~cells~'\U2219'~cm^{-2})), limits=c(-0,5))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
symfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
sym_stress_fig<-ggplot(phys_stress, aes(y=Sym.density_10.6cells.cm.2, x=Months, color=Bleach, fill=Bleach))+ 
  geom_point(data=phys_stress,aes(y=Sym.density_10.6cells.cm.2, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Sym.density_10.6cells.cm.2, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  geom_boxplot(alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Symbiont~density~(10^{6}~cells~'\U2219'~cm^{-2})), limits=c(0,5))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
sym_stress_fig

library(Rmisc)
sym_sum<-summarySE(phys, measurevar='Sym.density_10.6cells.cm.2', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
sym_sum
symfig_3<-ggplot(sym_sum, aes(y=Sym.density_10.6cells.cm.2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=sym_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "sym", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Sym.density_10.6cells.cm.2-se, ymax=Sym.density_10.6cells.cm.2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Symbiont~density~(10^{6}~cells~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
symfig_3

lmfig<-ggplot(phys, aes(y=Sym.density_10.6cells.cm.2, x=AFDW_mg.cm.2, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="lm")+
  #facet_grid(~Species)+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
lmfig ##this follows the patterns seen in Hawkins et al 2016

##Chlorphyll a ###Normality

hist(phys$Chl.a_ug.cm2)

chla.lm<- lm(Chl.a_ug.cm2~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(chla.lm, ask=FALSE, which=1:6)

###Stats

chla.lme <- lme(Chl.a_ug.cm2~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(chla.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Chl.a_ug.cm2
                        Chisq Df Pr(>Chisq)    
(Intercept)            5.8611  1  0.0154795 *  
Species               46.7985  1  7.867e-12 ***
Bleach                 0.9625  1  0.3265554    
Months                24.5860  7  0.0008983 ***
Species:Bleach         1.4954  1  0.2213852    
Species:Months        12.5854  7  0.0828781 .  
Bleach:Months          2.2491  7  0.9447760    
Species:Bleach:Months 14.9629  7  0.0364776 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(chla.lme, list(pairwise ~ Months), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Months`
 Months emmean    SE df lower.CL upper.CL
 0        12.0 0.815 42    10.31     13.6
 10       10.0 0.889 42     8.25     11.8
 12       14.8 0.837 42    13.07     16.4
 17       20.1 0.840 42    18.39     21.8
 20       13.4 0.847 42    11.65     15.1
 24       15.9 0.914 42    14.04     17.7
 29       17.3 0.883 42    15.55     19.1
 35       10.6 1.091 42     8.42     12.8

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Months`
 1                   estimate   SE  df t.ratio p.value
 Months0 - Months10     1.905 1.14 202   1.678  0.7015
 Months0 - Months12    -2.804 1.10 202  -2.560  0.1771
 Months0 - Months17    -8.136 1.10 202  -7.415  <.0001
 Months0 - Months20    -1.410 1.10 202  -1.278  0.9059
 Months0 - Months24    -3.929 1.16 202  -3.402  0.0180
 Months0 - Months29    -5.379 1.13 202  -4.757  0.0001
 Months0 - Months35     1.327 1.31 202   1.013  0.9721
 Months10 - Months12   -4.709 1.15 202  -4.103  0.0015
 Months10 - Months17  -10.041 1.15 202  -8.737  <.0001
 Months10 - Months20   -3.315 1.16 202  -2.868  0.0847
 Months10 - Months24   -5.834 1.20 202  -4.852  0.0001
 Months10 - Months29   -7.284 1.18 202  -6.177  <.0001
 Months10 - Months35   -0.578 1.35 202  -0.427  0.9999
 Months12 - Months17   -5.332 1.11 202  -4.804  0.0001
 Months12 - Months20    1.394 1.12 202   1.249  0.9160
 Months12 - Months24   -1.126 1.17 202  -0.965  0.9788
 Months12 - Months29   -2.575 1.14 202  -2.253  0.3253
 Months12 - Months35    4.130 1.32 202   3.127  0.0417
 Months17 - Months20    6.726 1.12 202   6.016  <.0001
 Months17 - Months24    4.207 1.17 202   3.598  0.0095
 Months17 - Months29    2.757 1.15 202   2.408  0.2434
 Months17 - Months35    9.463 1.32 202   7.153  <.0001
 Months20 - Months24   -2.519 1.17 202  -2.144  0.3903
 Months20 - Months29   -3.969 1.15 202  -3.448  0.0155
 Months20 - Months35    2.737 1.33 202   2.063  0.4428
 Months24 - Months29   -1.449 1.20 202  -1.212  0.9275
 Months24 - Months35    5.256 1.37 202   3.840  0.0040
 Months29 - Months35    6.705 1.35 202   4.980  <.0001

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 8 estimates 
summary(chla.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:     7.10234  5.52933

Fixed effects: pg.Chl.a.per.zoox ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.732                                                                                
BleachNon-bleach                                   -0.707  0.518                                                                         
Months10                                           -0.395  0.289  0.279                                                                  
Months12                                           -0.442  0.323  0.312  0.447                                                           
Months17                                           -0.442  0.323  0.312  0.447  0.500                                                    
Months20                                           -0.428  0.314  0.303  0.430  0.485  0.485                                             
Months24                                           -0.428  0.313  0.303  0.443  0.484  0.484  0.468                                      
Months29                                           -0.428  0.313  0.303  0.443  0.484  0.484  0.468  0.480                               
Months35                                           -0.361  0.264  0.255  0.307  0.343  0.343  0.338  0.339  0.339                        
SpeciesPorites compressa:BleachNon-bleach           0.545 -0.676 -0.771 -0.215 -0.241 -0.241 -0.234 -0.233 -0.233 -0.197                 
SpeciesPorites compressa:Months10                   0.280 -0.440 -0.198 -0.708 -0.317 -0.317 -0.304 -0.314 -0.314 -0.217  0.327          
SpeciesPorites compressa:Months12                   0.294 -0.469 -0.208 -0.298 -0.667 -0.333 -0.323 -0.323 -0.323 -0.229  0.353    0.468 
SpeciesPorites compressa:Months17                   0.295 -0.463 -0.208 -0.299 -0.334 -0.667 -0.323 -0.323 -0.323 -0.229  0.345    0.473 
SpeciesPorites compressa:Months20                   0.296 -0.468 -0.210 -0.297 -0.335 -0.335 -0.691 -0.323 -0.323 -0.233  0.351    0.468 
SpeciesPorites compressa:Months24                   0.282 -0.464 -0.200 -0.293 -0.319 -0.319 -0.309 -0.660 -0.317 -0.224  0.360    0.451 
SpeciesPorites compressa:Months29                   0.289 -0.471 -0.204 -0.299 -0.327 -0.327 -0.316 -0.324 -0.675 -0.229  0.364    0.462 
SpeciesPorites compressa:Months35                   0.274 -0.420 -0.194 -0.234 -0.261 -0.261 -0.257 -0.258 -0.258 -0.761  0.304    0.370 
BleachNon-bleach:Months10                           0.290 -0.212 -0.411 -0.734 -0.328 -0.328 -0.316 -0.326 -0.326 -0.225  0.317    0.520 
BleachNon-bleach:Months12                           0.312 -0.229 -0.442 -0.316 -0.707 -0.354 -0.343 -0.342 -0.342 -0.243  0.341    0.224 
BleachNon-bleach:Months17                           0.312 -0.229 -0.442 -0.316 -0.354 -0.707 -0.343 -0.342 -0.342 -0.243  0.341    0.224 
BleachNon-bleach:Months20                           0.308 -0.225 -0.435 -0.308 -0.348 -0.348 -0.718 -0.336 -0.336 -0.242  0.335    0.218 
BleachNon-bleach:Months24                           0.303 -0.221 -0.428 -0.314 -0.342 -0.342 -0.331 -0.707 -0.339 -0.240  0.330    0.222 
BleachNon-bleach:Months29                           0.303 -0.221 -0.428 -0.314 -0.342 -0.342 -0.331 -0.339 -0.707 -0.240  0.330    0.222 
BleachNon-bleach:Months35                           0.283 -0.207 -0.385 -0.241 -0.269 -0.269 -0.265 -0.266 -0.266 -0.784  0.296    0.170 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.206  0.333  0.291  0.520  0.233  0.233  0.224  0.231  0.231  0.160 -0.481   -0.737 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.210  0.338  0.297  0.213  0.476  0.238  0.231  0.230  0.230  0.163 -0.486   -0.334 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.213  0.346  0.301  0.216  0.241  0.482  0.234  0.233  0.233  0.166 -0.498   -0.344 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.213  0.339  0.301  0.213  0.241  0.241  0.497  0.232  0.232  0.168 -0.489   -0.336 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.200  0.342  0.284  0.208  0.227  0.227  0.219  0.468  0.225  0.159 -0.494   -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.205  0.346  0.290  0.213  0.232  0.232  0.224  0.230  0.480  0.163 -0.500   -0.327 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.205  0.317  0.278  0.174  0.195  0.195  0.191  0.192  0.192  0.567 -0.429   -0.276 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.493                                                                                
SpeciesPorites compressa:Months20                   0.495   0.496                                                                        
SpeciesPorites compressa:Months24                   0.480   0.471   0.474                                                                
SpeciesPorites compressa:Months29                   0.490   0.482   0.485   0.486                                                        
SpeciesPorites compressa:Months35                   0.392   0.391   0.392   0.382   0.392                                                
BleachNon-bleach:Months10                           0.219   0.219   0.218   0.215   0.220   0.172                                        
BleachNon-bleach:Months12                           0.471   0.236   0.237   0.226   0.231   0.185  0.465                                 
BleachNon-bleach:Months17                           0.236   0.472   0.237   0.226   0.231   0.185  0.465   0.500                         
BleachNon-bleach:Months20                           0.232   0.232   0.496   0.222   0.227   0.184  0.455   0.492   0.492                 
BleachNon-bleach:Months24                           0.228   0.228   0.229   0.467   0.229   0.182  0.460   0.484   0.484   0.476         
BleachNon-bleach:Months29                           0.228   0.228   0.229   0.224   0.478   0.182  0.460   0.484   0.484   0.476   0.480 
BleachNon-bleach:Months35                           0.179   0.180   0.183   0.176   0.180   0.596  0.358   0.381   0.381   0.377   0.376 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.343  -0.350  -0.344  -0.332  -0.340  -0.274 -0.708  -0.329  -0.329  -0.322  -0.326 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.713  -0.352  -0.353  -0.341  -0.349  -0.280 -0.313  -0.673  -0.336  -0.331  -0.326 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.356  -0.725  -0.358  -0.340  -0.348  -0.284 -0.317  -0.341  -0.682  -0.336  -0.330 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.356  -0.356  -0.718  -0.340  -0.348  -0.282 -0.315  -0.340  -0.340  -0.692  -0.329 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.340  -0.333  -0.336  -0.717  -0.352  -0.274 -0.305  -0.320  -0.320  -0.315  -0.662 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.348  -0.341  -0.344  -0.352  -0.717  -0.281 -0.312  -0.328  -0.328  -0.323  -0.325 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.292  -0.291  -0.292  -0.282  -0.290  -0.746 -0.259  -0.275  -0.275  -0.273  -0.272 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.376                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.326  -0.253                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.326  -0.256  0.474                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.330  -0.260  0.488       0.491                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.329  -0.261  0.479       0.490       0.497                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.318  -0.249  0.456       0.463       0.467       0.466                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.678  -0.255  0.467       0.475       0.478       0.478       0.482                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.272  -0.723  0.394       0.402       0.406       0.404       0.386       0.397     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.17246879 -0.41809968 -0.03744327  0.27190526  4.27007839 

Number of Observations: 273
Number of Groups: 44 
r.squaredGLMM(chla.lme)
           R2m       R2c
[1,] 0.2242011 0.7072347

####Coefficients

coef(chla.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months10 Months12 Months17  Months20  Months24  Months29  Months35
3     13.714006                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
4     11.577017                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
11    11.011482                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
12    11.838750                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
19    15.213930                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
20    11.632791                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
26    11.755004                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
27    11.975038                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
35     5.272630                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
36    52.166466                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
41    17.620276                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
42     9.571929                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
43    10.259605                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
44    10.029119                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
45    10.835940                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
46     7.335088                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
201   13.519692                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
202   12.277872                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
203   12.577198                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
204   13.524240                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
209   11.370271                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
210   14.666687                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
211   12.452298                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
212   11.754798                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
213   14.343118                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
214   12.784725                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
217   15.915556                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
218   14.488540                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
219   11.275610                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
220   13.134052                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
221   13.929957                  7.81891        -5.729839 -8.470467   -6.694    -3.41 -6.497333 -6.539383 -6.644938 -10.29917
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                    8.733789                         -5.827062                         0.2904869
4                                    8.733789                         -5.827062                         0.2904869
11                                   8.733789                         -5.827062                         0.2904869
12                                   8.733789                         -5.827062                         0.2904869
19                                   8.733789                         -5.827062                         0.2904869
20                                   8.733789                         -5.827062                         0.2904869
26                                   8.733789                         -5.827062                         0.2904869
27                                   8.733789                         -5.827062                         0.2904869
35                                   8.733789                         -5.827062                         0.2904869
36                                   8.733789                         -5.827062                         0.2904869
41                                   8.733789                         -5.827062                         0.2904869
42                                   8.733789                         -5.827062                         0.2904869
43                                   8.733789                         -5.827062                         0.2904869
44                                   8.733789                         -5.827062                         0.2904869
45                                   8.733789                         -5.827062                         0.2904869
46                                   8.733789                         -5.827062                         0.2904869
201                                  8.733789                         -5.827062                         0.2904869
202                                  8.733789                         -5.827062                         0.2904869
203                                  8.733789                         -5.827062                         0.2904869
204                                  8.733789                         -5.827062                         0.2904869
209                                  8.733789                         -5.827062                         0.2904869
210                                  8.733789                         -5.827062                         0.2904869
211                                  8.733789                         -5.827062                         0.2904869
212                                  8.733789                         -5.827062                         0.2904869
213                                  8.733789                         -5.827062                         0.2904869
214                                  8.733789                         -5.827062                         0.2904869
217                                  8.733789                         -5.827062                         0.2904869
218                                  8.733789                         -5.827062                         0.2904869
219                                  8.733789                         -5.827062                         0.2904869
220                                  8.733789                         -5.827062                         0.2904869
221                                  8.733789                         -5.827062                         0.2904869
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                           -10.70628                         -7.599206                         -7.081133                         -3.997321
4                           -10.70628                         -7.599206                         -7.081133                         -3.997321
11                          -10.70628                         -7.599206                         -7.081133                         -3.997321
12                          -10.70628                         -7.599206                         -7.081133                         -3.997321
19                          -10.70628                         -7.599206                         -7.081133                         -3.997321
20                          -10.70628                         -7.599206                         -7.081133                         -3.997321
26                          -10.70628                         -7.599206                         -7.081133                         -3.997321
27                          -10.70628                         -7.599206                         -7.081133                         -3.997321
35                          -10.70628                         -7.599206                         -7.081133                         -3.997321
36                          -10.70628                         -7.599206                         -7.081133                         -3.997321
41                          -10.70628                         -7.599206                         -7.081133                         -3.997321
42                          -10.70628                         -7.599206                         -7.081133                         -3.997321
43                          -10.70628                         -7.599206                         -7.081133                         -3.997321
44                          -10.70628                         -7.599206                         -7.081133                         -3.997321
45                          -10.70628                         -7.599206                         -7.081133                         -3.997321
46                          -10.70628                         -7.599206                         -7.081133                         -3.997321
201                         -10.70628                         -7.599206                         -7.081133                         -3.997321
202                         -10.70628                         -7.599206                         -7.081133                         -3.997321
203                         -10.70628                         -7.599206                         -7.081133                         -3.997321
204                         -10.70628                         -7.599206                         -7.081133                         -3.997321
209                         -10.70628                         -7.599206                         -7.081133                         -3.997321
210                         -10.70628                         -7.599206                         -7.081133                         -3.997321
211                         -10.70628                         -7.599206                         -7.081133                         -3.997321
212                         -10.70628                         -7.599206                         -7.081133                         -3.997321
213                         -10.70628                         -7.599206                         -7.081133                         -3.997321
214                         -10.70628                         -7.599206                         -7.081133                         -3.997321
217                         -10.70628                         -7.599206                         -7.081133                         -3.997321
218                         -10.70628                         -7.599206                         -7.081133                         -3.997321
219                         -10.70628                         -7.599206                         -7.081133                         -3.997321
220                         -10.70628                         -7.599206                         -7.081133                         -3.997321
221                         -10.70628                         -7.599206                         -7.081133                         -3.997321
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                           -4.703357                  8.053656                     5.567                     2.913                  3.712333
4                           -4.703357                  8.053656                     5.567                     2.913                  3.712333
11                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
12                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
19                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
20                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
26                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
27                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
35                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
36                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
41                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
42                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
43                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
44                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
45                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
46                          -4.703357                  8.053656                     5.567                     2.913                  3.712333
201                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
202                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
203                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
204                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
209                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
210                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
211                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
212                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
213                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
214                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
217                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
218                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
219                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
220                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
221                         -4.703357                  8.053656                     5.567                     2.913                  3.712333
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                     3.99146                  4.038127                  4.802768                                           -5.05245
4                     3.99146                  4.038127                  4.802768                                           -5.05245
11                    3.99146                  4.038127                  4.802768                                           -5.05245
12                    3.99146                  4.038127                  4.802768                                           -5.05245
19                    3.99146                  4.038127                  4.802768                                           -5.05245
20                    3.99146                  4.038127                  4.802768                                           -5.05245
26                    3.99146                  4.038127                  4.802768                                           -5.05245
27                    3.99146                  4.038127                  4.802768                                           -5.05245
35                    3.99146                  4.038127                  4.802768                                           -5.05245
36                    3.99146                  4.038127                  4.802768                                           -5.05245
41                    3.99146                  4.038127                  4.802768                                           -5.05245
42                    3.99146                  4.038127                  4.802768                                           -5.05245
43                    3.99146                  4.038127                  4.802768                                           -5.05245
44                    3.99146                  4.038127                  4.802768                                           -5.05245
45                    3.99146                  4.038127                  4.802768                                           -5.05245
46                    3.99146                  4.038127                  4.802768                                           -5.05245
201                   3.99146                  4.038127                  4.802768                                           -5.05245
202                   3.99146                  4.038127                  4.802768                                           -5.05245
203                   3.99146                  4.038127                  4.802768                                           -5.05245
204                   3.99146                  4.038127                  4.802768                                           -5.05245
209                   3.99146                  4.038127                  4.802768                                           -5.05245
210                   3.99146                  4.038127                  4.802768                                           -5.05245
211                   3.99146                  4.038127                  4.802768                                           -5.05245
212                   3.99146                  4.038127                  4.802768                                           -5.05245
213                   3.99146                  4.038127                  4.802768                                           -5.05245
214                   3.99146                  4.038127                  4.802768                                           -5.05245
217                   3.99146                  4.038127                  4.802768                                           -5.05245
218                   3.99146                  4.038127                  4.802768                                           -5.05245
219                   3.99146                  4.038127                  4.802768                                           -5.05245
220                   3.99146                  4.038127                  4.802768                                           -5.05245
221                   3.99146                  4.038127                  4.802768                                           -5.05245
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                            -7.412417                                         -0.2930444
4                                            -7.412417                                         -0.2930444
11                                           -7.412417                                         -0.2930444
12                                           -7.412417                                         -0.2930444
19                                           -7.412417                                         -0.2930444
20                                           -7.412417                                         -0.2930444
26                                           -7.412417                                         -0.2930444
27                                           -7.412417                                         -0.2930444
35                                           -7.412417                                         -0.2930444
36                                           -7.412417                                         -0.2930444
41                                           -7.412417                                         -0.2930444
42                                           -7.412417                                         -0.2930444
43                                           -7.412417                                         -0.2930444
44                                           -7.412417                                         -0.2930444
45                                           -7.412417                                         -0.2930444
46                                           -7.412417                                         -0.2930444
201                                          -7.412417                                         -0.2930444
202                                          -7.412417                                         -0.2930444
203                                          -7.412417                                         -0.2930444
204                                          -7.412417                                         -0.2930444
209                                          -7.412417                                         -0.2930444
210                                          -7.412417                                         -0.2930444
211                                          -7.412417                                         -0.2930444
212                                          -7.412417                                         -0.2930444
213                                          -7.412417                                         -0.2930444
214                                          -7.412417                                         -0.2930444
217                                          -7.412417                                         -0.2930444
218                                          -7.412417                                         -0.2930444
219                                          -7.412417                                         -0.2930444
220                                          -7.412417                                         -0.2930444
221                                          -7.412417                                         -0.2930444
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                             -3.53698                                          -5.545262
4                                             -3.53698                                          -5.545262
11                                            -3.53698                                          -5.545262
12                                            -3.53698                                          -5.545262
19                                            -3.53698                                          -5.545262
20                                            -3.53698                                          -5.545262
26                                            -3.53698                                          -5.545262
27                                            -3.53698                                          -5.545262
35                                            -3.53698                                          -5.545262
36                                            -3.53698                                          -5.545262
41                                            -3.53698                                          -5.545262
42                                            -3.53698                                          -5.545262
43                                            -3.53698                                          -5.545262
44                                            -3.53698                                          -5.545262
45                                            -3.53698                                          -5.545262
46                                            -3.53698                                          -5.545262
201                                           -3.53698                                          -5.545262
202                                           -3.53698                                          -5.545262
203                                           -3.53698                                          -5.545262
204                                           -3.53698                                          -5.545262
209                                           -3.53698                                          -5.545262
210                                           -3.53698                                          -5.545262
211                                           -3.53698                                          -5.545262
212                                           -3.53698                                          -5.545262
213                                           -3.53698                                          -5.545262
214                                           -3.53698                                          -5.545262
217                                           -3.53698                                          -5.545262
218                                           -3.53698                                          -5.545262
219                                           -3.53698                                          -5.545262
220                                           -3.53698                                          -5.545262
221                                           -3.53698                                          -5.545262
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                            -6.403994                                          -5.597118
4                                            -6.403994                                          -5.597118
11                                           -6.403994                                          -5.597118
12                                           -6.403994                                          -5.597118
19                                           -6.403994                                          -5.597118
20                                           -6.403994                                          -5.597118
26                                           -6.403994                                          -5.597118
27                                           -6.403994                                          -5.597118
35                                           -6.403994                                          -5.597118
36                                           -6.403994                                          -5.597118
41                                           -6.403994                                          -5.597118
42                                           -6.403994                                          -5.597118
43                                           -6.403994                                          -5.597118
44                                           -6.403994                                          -5.597118
45                                           -6.403994                                          -5.597118
46                                           -6.403994                                          -5.597118
201                                          -6.403994                                          -5.597118
202                                          -6.403994                                          -5.597118
203                                          -6.403994                                          -5.597118
204                                          -6.403994                                          -5.597118
209                                          -6.403994                                          -5.597118
210                                          -6.403994                                          -5.597118
211                                          -6.403994                                          -5.597118
212                                          -6.403994                                          -5.597118
213                                          -6.403994                                          -5.597118
214                                          -6.403994                                          -5.597118
217                                          -6.403994                                          -5.597118
218                                          -6.403994                                          -5.597118
219                                          -6.403994                                          -5.597118
220                                          -6.403994                                          -5.597118
221                                          -6.403994                                          -5.597118
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
chlafig<-ggplot(phys, aes(y=Chl.a_ug.cm2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(mu~g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
chlafig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
chla_stress_fig<-ggplot(phys_stress, aes(y=Chl.a_ug.cm2, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=Chl.a_ug.cm2, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Chl.a_ug.cm2, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  geom_boxplot(alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(mu~g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
chla_stress_fig

library(Rmisc)
chla_sum<-summarySE(phys, measurevar='Chl.a_ug.cm2', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
chla_sum
chlafig_3<-ggplot(chla_sum, aes(y=Chl.a_ug.cm2, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=chla_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "chla", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Chl.a_ug.cm2-se, ymax=Chl.a_ug.cm2+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(mu~g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
chlafig_3

##Chlorphyll a per symbiont ###Normality

hist(phys$pg.Chl.a.per.zoox)

chla.lm<- lm(pg.Chl.a.per.zoox~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(chla.lm, ask=FALSE, which=1:6)

###Stats

chla.lme <- lme(pg.Chl.a.per.zoox~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(chla.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: pg.Chl.a.per.zoox
                        Chisq Df Pr(>Chisq)    
(Intercept)           22.2620  1  2.379e-06 ***
Species                4.1785  1    0.04094 *  
Bleach                 2.0960  1    0.14768    
Months                16.9046  7    0.01802 *  
Species:Bleach         2.8932  1    0.08895 .  
Species:Months        14.1502  7    0.04857 *  
Bleach:Months          5.2984  7    0.62360    
Species:Bleach:Months  3.7589  7    0.80709    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(chla.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean   SE df lower.CL upper.CL
 Montipora capitata 0       10.35 1.98 43     6.36    14.34
 Porites compressa  0       22.53 2.01 42    18.48    26.58
 Montipora capitata 10       5.90 2.10 43     1.67    10.13
 Porites compressa  10       9.74 2.05 42     5.59    13.88
 Montipora capitata 12       6.44 1.98 43     2.45    10.43
 Porites compressa  12      15.21 2.11 42    10.95    19.46
 Montipora capitata 17       8.39 1.98 43     4.40    12.38
 Porites compressa  17       9.73 2.05 42     5.58    13.87
 Montipora capitata 20       5.71 2.00 43     1.67     9.74
 Porites compressa  20       8.52 2.05 42     4.39    12.65
 Montipora capitata 24       5.80 2.03 43     1.71     9.90
 Porites compressa  24       8.13 2.18 42     3.73    12.54
 Montipora capitata 29       5.72 2.03 43     1.63     9.81
 Porites compressa  29      10.71 2.11 42     6.45    14.96
 Montipora capitata 35       2.45 2.39 43    -2.36     7.26
 Porites compressa  35       7.13 2.28 42     2.53    11.73

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate   SE  df t.ratio p.value
 Months0 - Months10   4.44364 1.88 199   2.361  0.2665
 Months0 - Months12   3.91050 1.75 199   2.236  0.3347
 Months0 - Months17   1.95350 1.75 199   1.117  0.9524
 Months0 - Months20   4.64117 1.78 199   2.613  0.1575
 Months0 - Months24   4.54365 1.81 199   2.515  0.1953
 Months0 - Months29   4.62587 1.81 199   2.560  0.1770
 Months0 - Months35   7.89779 2.30 199   3.439  0.0160
 Months10 - Months12 -0.53314 1.88 199  -0.283  1.0000
 Months10 - Months17 -2.49014 1.88 199  -1.323  0.8891
 Months10 - Months20  0.19753 1.91 199   0.103  1.0000
 Months10 - Months24  0.10001 1.92 199   0.052  1.0000
 Months10 - Months29  0.18224 1.92 199   0.095  1.0000
 Months10 - Months35  3.45415 2.39 199   1.444  0.8358
 Months12 - Months17 -1.95700 1.75 199  -1.119  0.9520
 Months12 - Months20  0.73067 1.78 199   0.411  0.9999
 Months12 - Months24  0.63315 1.81 199   0.350  1.0000
 Months12 - Months29  0.71537 1.81 199   0.396  0.9999
 Months12 - Months35  3.98729 2.30 199   1.736  0.6637
 Months17 - Months20  2.68767 1.78 199   1.513  0.7997
 Months17 - Months24  2.59015 1.81 199   1.434  0.8406
 Months17 - Months29  2.67238 1.81 199   1.479  0.8177
 Months17 - Months35  5.94429 2.30 199   2.588  0.1665
 Months20 - Months24 -0.09751 1.83 199  -0.053  1.0000
 Months20 - Months29 -0.01529 1.83 199  -0.008  1.0000
 Months20 - Months35  3.25662 2.31 199   1.408  0.8529
 Months24 - Months29  0.08222 1.84 199   0.045  1.0000
 Months24 - Months35  3.35414 2.33 199   1.441  0.8368
 Months29 - Months35  3.27191 2.33 199   1.406  0.8537

Species = Porites compressa:
 2                   estimate   SE  df t.ratio p.value
 Months0 - Months10  12.79693 1.87 199   6.861  <.0001
 Months0 - Months12   7.32622 1.92 199   3.808  0.0045
 Months0 - Months17  12.80630 1.87 199   6.866  <.0001
 Months0 - Months20  14.00886 1.86 199   7.549  <.0001
 Months0 - Months24  14.39742 2.00 199   7.182  <.0001
 Months0 - Months29  11.82519 1.92 199   6.144  <.0001
 Months0 - Months35  15.39971 2.19 199   7.029  <.0001
 Months10 - Months12 -5.47070 1.92 199  -2.849  0.0890
 Months10 - Months17  0.00937 1.85 199   0.005  1.0000
 Months10 - Months20  1.21194 1.85 199   0.654  0.9980
 Months10 - Months24  1.60049 2.00 199   0.800  0.9930
 Months10 - Months29 -0.97173 1.92 199  -0.506  0.9996
 Months10 - Months35  2.60278 2.18 199   1.191  0.9336
 Months12 - Months17  5.48008 1.92 199   2.854  0.0879
 Months12 - Months20  6.68264 1.91 199   3.498  0.0132
 Months12 - Months24  7.07120 2.04 199   3.460  0.0150
 Months12 - Months29  4.49897 1.97 199   2.289  0.3048
 Months12 - Months35  8.07348 2.22 199   3.639  0.0082
 Months17 - Months20  1.20256 1.85 199   0.649  0.9981
 Months17 - Months24  1.59112 2.00 199   0.796  0.9932
 Months17 - Months29 -0.98111 1.92 199  -0.511  0.9996
 Months17 - Months35  2.59341 2.18 199   1.187  0.9348
 Months20 - Months24  0.38855 1.99 199   0.195  1.0000
 Months20 - Months29 -2.18367 1.91 199  -1.143  0.9464
 Months20 - Months35  1.39084 2.18 199   0.639  0.9983
 Months24 - Months29 -2.57222 2.03 199  -1.266  0.9104
 Months24 - Months35  1.00229 2.30 199   0.436  0.9999
 Months29 - Months35  3.57451 2.22 199   1.611  0.7429

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 8 estimates 

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
chlafig2<-ggplot(phys, aes(y=pg.Chl.a.per.zoox, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(pg~'\U2219'~cell^{-1})), limits=c(0,50))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
chlafig2

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
chla_stress_fig2<-ggplot(phys_stress, aes(y=pg.Chl.a.per.zoox, x=Months, color=Bleach, fill=Bleach))+ 
  #geom_point(alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  geom_boxplot(alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(pg~'\U2219'~cell^{-1})), limits=c(0,50))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
chla_stress_fig2

library(Rmisc)
chlacell_sum<-summarySE(phys, measurevar='pg.Chl.a.per.zoox', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
chlacell_sum
chlacellfig_3<-ggplot(chlacell_sum, aes(y=pg.Chl.a.per.zoox, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=chlacell_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "chlacell", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=pg.Chl.a.per.zoox-se, ymax=pg.Chl.a.per.zoox+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Chlorophyll~italic(a)~(pg~'\U2219'~cell^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
chlacellfig_3

##Melanin

###Normality

hist(phys$Melanin_per_tissue)

mel.lm<- lm(Melanin_per_tissue~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(mel.lm, ask=FALSE, which=1:6)

###Stats

mel.lme <- lme(Melanin_per_tissue~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(mel.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, SpeciesPorites compressa:Months10, BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months10Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Melanin_per_tissue
                        Chisq Df Pr(>Chisq)    
(Intercept)           18.5389  1  1.665e-05 ***
Species                9.0151  1   0.002678 ** 
Bleach                 0.4796  1   0.488592    
Months                 5.6176  6   0.467357    
Species:Bleach         0.0130  1   0.909084    
Species:Months        17.0708  6   0.009027 ** 
Bleach:Months          1.7906  6   0.937914    
Species:Bleach:Months  5.7355  6   0.453467    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(mel.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months   emmean       SE df lower.CL upper.CL
 Montipora capitata 10     0.000717 0.000125 41 0.000464 0.000970
 Porites compressa  10     0.001466 0.000119 40 0.001225 0.001706
 Montipora capitata 12     0.000646 0.000112 41 0.000419 0.000873
 Porites compressa  12     0.001706 0.000118 40 0.001467 0.001945
 Montipora capitata 17     0.000813 0.000112 41 0.000586 0.001040
 Porites compressa  17     0.002319 0.000119 40 0.002079 0.002560
 Montipora capitata 20     0.000969 0.000115 41 0.000737 0.001201
 Porites compressa  20     0.002547 0.000118 40 0.002308 0.002786
 Montipora capitata 24     0.000887 0.000118 41 0.000649 0.001125
 Porites compressa  24     0.002197 0.000133 40 0.001929 0.002465
 Montipora capitata 29     0.000957 0.000118 41 0.000719 0.001195
 Porites compressa  29     0.001828 0.000125 40 0.001575 0.002080
 Montipora capitata 35     0.000670 0.000153 41 0.000361 0.000980
 Porites compressa  35     0.001399 0.000163 40 0.001069 0.001729

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                    estimate       SE  df t.ratio p.value
 Months10 - Months12  7.12e-05 0.000152 165   0.469  0.9992
 Months10 - Months17 -9.60e-05 0.000152 165  -0.632  0.9957
 Months10 - Months20 -2.52e-04 0.000154 165  -1.635  0.6602
 Months10 - Months24 -1.70e-04 0.000155 165  -1.096  0.9286
 Months10 - Months29 -2.40e-04 0.000155 165  -1.550  0.7140
 Months10 - Months35  4.67e-05 0.000186 165   0.251  1.0000
 Months12 - Months17 -1.67e-04 0.000142 165  -1.182  0.9001
 Months12 - Months20 -3.23e-04 0.000144 165  -2.249  0.2755
 Months12 - Months24 -2.41e-04 0.000146 165  -1.651  0.6491
 Months12 - Months29 -3.11e-04 0.000146 165  -2.134  0.3379
 Months12 - Months35 -2.46e-05 0.000178 165  -0.138  1.0000
 Months17 - Months20 -1.56e-04 0.000144 165  -1.085  0.9317
 Months17 - Months24 -7.38e-05 0.000146 165  -0.506  0.9988
 Months17 - Months29 -1.44e-04 0.000146 165  -0.988  0.9560
 Months17 - Months35  1.43e-04 0.000178 165   0.801  0.9846
 Months20 - Months24  8.21e-05 0.000148 165   0.554  0.9979
 Months20 - Months29  1.17e-05 0.000148 165   0.079  1.0000
 Months20 - Months35  2.99e-04 0.000180 165   1.662  0.6420
 Months24 - Months29 -7.04e-05 0.000149 165  -0.472  0.9992
 Months24 - Months35  2.16e-04 0.000181 165   1.196  0.8947
 Months29 - Months35  2.87e-04 0.000181 165   1.585  0.6919

Species = Porites compressa:
 2                    estimate       SE  df t.ratio p.value
 Months10 - Months12 -2.40e-04 0.000150 165  -1.605  0.6794
 Months10 - Months17 -8.54e-04 0.000150 165  -5.688  <.0001
 Months10 - Months20 -1.08e-03 0.000150 165  -7.222  <.0001
 Months10 - Months24 -7.31e-04 0.000161 165  -4.537  0.0002
 Months10 - Months29 -3.62e-04 0.000155 165  -2.337  0.2331
 Months10 - Months35  6.68e-05 0.000190 165   0.351  0.9998
 Months12 - Months17 -6.13e-04 0.000150 165  -4.097  0.0013
 Months12 - Months20 -8.41e-04 0.000149 165  -5.638  <.0001
 Months12 - Months24 -4.91e-04 0.000161 165  -3.057  0.0409
 Months12 - Months29 -1.22e-04 0.000154 165  -0.788  0.9858
 Months12 - Months35  3.07e-04 0.000190 165   1.620  0.6698
 Months17 - Months20 -2.27e-04 0.000150 165  -1.519  0.7328
 Months17 - Months24  1.23e-04 0.000161 165   0.760  0.9883
 Months17 - Months29  4.92e-04 0.000155 165   3.175  0.0290
 Months17 - Months35  9.21e-04 0.000190 165   4.841  0.0001
 Months20 - Months24  3.50e-04 0.000161 165   2.179  0.3124
 Months20 - Months29  7.19e-04 0.000154 165   4.661  0.0001
 Months20 - Months35  1.15e-03 0.000190 165   6.055  <.0001
 Months24 - Months29  3.69e-04 0.000164 165   2.247  0.2765
 Months24 - Months35  7.98e-04 0.000199 165   4.010  0.0018
 Months29 - Months35  4.29e-04 0.000193 165   2.222  0.2894

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 7 estimates 
summary(mel.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
         (Intercept)     Residual
StdDev: 0.0002300293 0.0004474928

Fixed effects: Melanin_per_tissue ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M12 SPc:M17
SpeciesPorites compressa                           -0.730                                                                                 
BleachNon-bleach                                   -0.746  0.544                                                                          
Months12                                           -0.712  0.520  0.531                                                                   
Months17                                           -0.712  0.520  0.531  0.597                                                            
Months20                                           -0.697  0.508  0.520  0.583  0.583                                                     
Months24                                           -0.692  0.505  0.516  0.579  0.579  0.566                                              
Months29                                           -0.692  0.505  0.516  0.579  0.579  0.566  0.568                                       
Months35                                           -0.563  0.411  0.420  0.454  0.454  0.447  0.445  0.445                                
SpeciesPorites compressa:BleachNon-bleach           0.547 -0.741 -0.733 -0.389 -0.389 -0.381 -0.378 -0.378 -0.308                         
SpeciesPorites compressa:Months12                   0.509 -0.690 -0.380 -0.715 -0.426 -0.417 -0.414 -0.414 -0.325  0.520                  
SpeciesPorites compressa:Months17                   0.503 -0.677 -0.375 -0.421 -0.706 -0.412 -0.409 -0.409 -0.321  0.507    0.555         
SpeciesPorites compressa:Months20                   0.504 -0.682 -0.376 -0.422 -0.422 -0.724 -0.409 -0.409 -0.324  0.514    0.559   0.549 
SpeciesPorites compressa:Months24                   0.479 -0.662 -0.358 -0.401 -0.401 -0.392 -0.693 -0.394 -0.308  0.504    0.537   0.525 
SpeciesPorites compressa:Months29                   0.489 -0.673 -0.365 -0.410 -0.410 -0.400 -0.402 -0.707 -0.314  0.511    0.547   0.536 
SpeciesPorites compressa:Months35                   0.416 -0.570 -0.311 -0.336 -0.336 -0.330 -0.329 -0.329 -0.739  0.425    0.444   0.437 
BleachNon-bleach:Months12                           0.523 -0.381 -0.687 -0.734 -0.438 -0.428 -0.425 -0.425 -0.333  0.503    0.524   0.309 
BleachNon-bleach:Months17                           0.523 -0.381 -0.687 -0.438 -0.734 -0.428 -0.425 -0.425 -0.333  0.503    0.313   0.518 
BleachNon-bleach:Months20                           0.517 -0.378 -0.679 -0.433 -0.433 -0.743 -0.420 -0.420 -0.332  0.497    0.310   0.306 
BleachNon-bleach:Months24                           0.507 -0.370 -0.665 -0.424 -0.424 -0.414 -0.733 -0.416 -0.326  0.487    0.303   0.299 
BleachNon-bleach:Months29                           0.507 -0.370 -0.665 -0.424 -0.424 -0.414 -0.416 -0.733 -0.326  0.487    0.303   0.299 
BleachNon-bleach:Months35                           0.443 -0.324 -0.577 -0.358 -0.358 -0.352 -0.350 -0.350 -0.787  0.423    0.256   0.252 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.371  0.502  0.488  0.521  0.311  0.304  0.302  0.302  0.237 -0.669   -0.731  -0.405 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.372  0.500  0.489  0.311  0.522  0.304  0.302  0.302  0.237 -0.667   -0.410  -0.739 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.370  0.499  0.486  0.310  0.310  0.531  0.301  0.301  0.238 -0.665   -0.412  -0.403 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.348  0.483  0.456  0.291  0.291  0.284  0.503  0.286  0.223 -0.644   -0.391  -0.381 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.355  0.492  0.466  0.297  0.297  0.290  0.292  0.513  0.228 -0.655   -0.399  -0.389 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.310  0.424  0.404  0.250  0.250  0.246  0.245  0.245  0.551 -0.552   -0.332  -0.326 
                                                   SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M12 BN-:M17 BN-:M20 BN-:M24 BN-:M29 BN-:M3 SPc:BN-:M12
SpeciesPorites compressa                                                                                                                    
BleachNon-bleach                                                                                                                            
Months12                                                                                                                                    
Months17                                                                                                                                    
Months20                                                                                                                                    
Months24                                                                                                                                    
Months29                                                                                                                                    
Months35                                                                                                                                    
SpeciesPorites compressa:BleachNon-bleach                                                                                                   
SpeciesPorites compressa:Months12                                                                                                           
SpeciesPorites compressa:Months17                                                                                                           
SpeciesPorites compressa:Months20                                                                                                           
SpeciesPorites compressa:Months24                   0.530                                                                                   
SpeciesPorites compressa:Months29                   0.540   0.532                                                                           
SpeciesPorites compressa:Months35                   0.440   0.425   0.436                                                                   
BleachNon-bleach:Months12                           0.310   0.295   0.300   0.246                                                           
BleachNon-bleach:Months17                           0.310   0.295   0.300   0.246  0.566                                                    
BleachNon-bleach:Months20                           0.538   0.291   0.297   0.245  0.559   0.559                                            
BleachNon-bleach:Months24                           0.300   0.508   0.294   0.241  0.548   0.548   0.541                                    
BleachNon-bleach:Months29                           0.300   0.289   0.518   0.241  0.548   0.548   0.541   0.537                            
BleachNon-bleach:Months35                           0.255   0.243   0.248   0.582  0.459   0.459   0.456   0.449   0.449                    
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.409  -0.393  -0.400  -0.323 -0.710  -0.402  -0.397  -0.389  -0.389  -0.326            
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.406  -0.388  -0.396  -0.323 -0.403  -0.711  -0.398  -0.390  -0.390  -0.327  0.533     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.736  -0.391  -0.398  -0.323 -0.400  -0.400  -0.716  -0.387  -0.387  -0.326  0.534     
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.386  -0.732  -0.392  -0.310 -0.376  -0.376  -0.371  -0.686  -0.368  -0.308  0.506     
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.394  -0.393  -0.732  -0.318 -0.384  -0.384  -0.379  -0.376  -0.701  -0.315  0.517     
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.329  -0.315  -0.324  -0.745 -0.321  -0.321  -0.319  -0.314  -0.314  -0.700  0.429     
                                                   SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                          
BleachNon-bleach                                                                                  
Months12                                                                                          
Months17                                                                                          
Months20                                                                                          
Months24                                                                                          
Months29                                                                                          
Months35                                                                                          
SpeciesPorites compressa:BleachNon-bleach                                                         
SpeciesPorites compressa:Months12                                                                 
SpeciesPorites compressa:Months17                                                                 
SpeciesPorites compressa:Months20                                                                 
SpeciesPorites compressa:Months24                                                                 
SpeciesPorites compressa:Months29                                                                 
SpeciesPorites compressa:Months35                                                                 
BleachNon-bleach:Months12                                                                         
BleachNon-bleach:Months17                                                                         
BleachNon-bleach:Months20                                                                         
BleachNon-bleach:Months24                                                                         
BleachNon-bleach:Months29                                                                         
BleachNon-bleach:Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach:Months12                                                
SpeciesPorites compressa:BleachNon-bleach:Months17                                                
SpeciesPorites compressa:BleachNon-bleach:Months20  0.529                                         
SpeciesPorites compressa:BleachNon-bleach:Months24  0.501       0.503                             
SpeciesPorites compressa:BleachNon-bleach:Months29  0.511       0.513       0.507                 
SpeciesPorites compressa:BleachNon-bleach:Months35  0.427       0.427       0.405       0.417     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.20574291 -0.50926467 -0.07428264  0.39904822  4.72554035 

Number of Observations: 233
Number of Groups: 42 
r.squaredGLMM(mel.lme)
           R2m       R2c
[1,] 0.6242873 0.7028147

####Coefficients

coef(mel.lme)
     (Intercept) SpeciesPorites compressa BleachNon-bleach      Months12      Months17     Months20     Months24     Months29      Months35
3   0.0008258971             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
4   0.0007939080             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
11  0.0007616610             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
12  0.0005896463             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
19  0.0007032111             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
20  0.0008991910             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
26  0.0007162773             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
27  0.0007588490             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
41  0.0006593915             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
42  0.0009202546             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
43  0.0007507726             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
44  0.0007973578             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
45  0.0010446768             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
46  0.0009321575             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
201 0.0005849470             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
202 0.0006344938             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
203 0.0008356053             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
204 0.0007648299             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
209 0.0010458169             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
210 0.0008728792             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
211 0.0009659106             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
212 0.0011314226             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
213 0.0007586591             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
214 0.0007833919             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
217 0.0007741247             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
218 0.0008938928             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
219 0.0007399144             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
220 0.0006482155             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
221 0.0008448906             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
222 0.0008287670             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
225 0.0008120613             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
229 0.0006690720             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
230 0.0005217918             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
235 0.0007952385             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
237 0.0012848791             0.0007681457    -0.0001732806 -0.0001415939 -5.112376e-05 0.0001450065 0.0001427679 0.0002470998 -0.0001475465
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months12 SpeciesPorites compressa:Months17
3                               -3.899635e-05                      0.0003004048                       0.001073006
4                               -3.899635e-05                      0.0003004048                       0.001073006
11                              -3.899635e-05                      0.0003004048                       0.001073006
12                              -3.899635e-05                      0.0003004048                       0.001073006
19                              -3.899635e-05                      0.0003004048                       0.001073006
20                              -3.899635e-05                      0.0003004048                       0.001073006
26                              -3.899635e-05                      0.0003004048                       0.001073006
27                              -3.899635e-05                      0.0003004048                       0.001073006
41                              -3.899635e-05                      0.0003004048                       0.001073006
42                              -3.899635e-05                      0.0003004048                       0.001073006
43                              -3.899635e-05                      0.0003004048                       0.001073006
44                              -3.899635e-05                      0.0003004048                       0.001073006
45                              -3.899635e-05                      0.0003004048                       0.001073006
46                              -3.899635e-05                      0.0003004048                       0.001073006
201                             -3.899635e-05                      0.0003004048                       0.001073006
202                             -3.899635e-05                      0.0003004048                       0.001073006
203                             -3.899635e-05                      0.0003004048                       0.001073006
204                             -3.899635e-05                      0.0003004048                       0.001073006
209                             -3.899635e-05                      0.0003004048                       0.001073006
210                             -3.899635e-05                      0.0003004048                       0.001073006
211                             -3.899635e-05                      0.0003004048                       0.001073006
212                             -3.899635e-05                      0.0003004048                       0.001073006
213                             -3.899635e-05                      0.0003004048                       0.001073006
214                             -3.899635e-05                      0.0003004048                       0.001073006
217                             -3.899635e-05                      0.0003004048                       0.001073006
218                             -3.899635e-05                      0.0003004048                       0.001073006
219                             -3.899635e-05                      0.0003004048                       0.001073006
220                             -3.899635e-05                      0.0003004048                       0.001073006
221                             -3.899635e-05                      0.0003004048                       0.001073006
222                             -3.899635e-05                      0.0003004048                       0.001073006
225                             -3.899635e-05                      0.0003004048                       0.001073006
229                             -3.899635e-05                      0.0003004048                       0.001073006
230                             -3.899635e-05                      0.0003004048                       0.001073006
235                             -3.899635e-05                      0.0003004048                       0.001073006
237                             -3.899635e-05                      0.0003004048                       0.001073006
    SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35
3                        0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
4                        0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
11                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
12                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
19                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
20                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
26                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
27                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
41                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
42                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
43                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
44                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
45                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
46                       0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
201                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
202                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
203                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
204                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
209                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
210                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
211                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
212                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
213                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
214                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
217                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
218                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
219                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
220                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
221                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
222                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
225                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
229                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
230                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
235                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
237                      0.0006989138                      0.0004838388                      0.0002220951                      2.082411e-05
    BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20 BleachNon-bleach:Months24 BleachNon-bleach:Months29
3                0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
4                0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
11               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
12               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
19               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
20               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
26               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
27               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
41               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
42               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
43               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
44               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
45               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
46               0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
201              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
202              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
203              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
204              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
209              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
210              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
211              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
212              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
213              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
214              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
217              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
218              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
219              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
220              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
221              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
222              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
225              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
229              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
230              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
235              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
237              0.0001407154              0.0002942308              0.0002138164              5.405067e-05             -1.380622e-05
    BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                0.0002017695                                       2.222058e-05                                      -0.0006305275
4                0.0002017695                                       2.222058e-05                                      -0.0006305275
11               0.0002017695                                       2.222058e-05                                      -0.0006305275
12               0.0002017695                                       2.222058e-05                                      -0.0006305275
19               0.0002017695                                       2.222058e-05                                      -0.0006305275
20               0.0002017695                                       2.222058e-05                                      -0.0006305275
26               0.0002017695                                       2.222058e-05                                      -0.0006305275
27               0.0002017695                                       2.222058e-05                                      -0.0006305275
41               0.0002017695                                       2.222058e-05                                      -0.0006305275
42               0.0002017695                                       2.222058e-05                                      -0.0006305275
43               0.0002017695                                       2.222058e-05                                      -0.0006305275
44               0.0002017695                                       2.222058e-05                                      -0.0006305275
45               0.0002017695                                       2.222058e-05                                      -0.0006305275
46               0.0002017695                                       2.222058e-05                                      -0.0006305275
201              0.0002017695                                       2.222058e-05                                      -0.0006305275
202              0.0002017695                                       2.222058e-05                                      -0.0006305275
203              0.0002017695                                       2.222058e-05                                      -0.0006305275
204              0.0002017695                                       2.222058e-05                                      -0.0006305275
209              0.0002017695                                       2.222058e-05                                      -0.0006305275
210              0.0002017695                                       2.222058e-05                                      -0.0006305275
211              0.0002017695                                       2.222058e-05                                      -0.0006305275
212              0.0002017695                                       2.222058e-05                                      -0.0006305275
213              0.0002017695                                       2.222058e-05                                      -0.0006305275
214              0.0002017695                                       2.222058e-05                                      -0.0006305275
217              0.0002017695                                       2.222058e-05                                      -0.0006305275
218              0.0002017695                                       2.222058e-05                                      -0.0006305275
219              0.0002017695                                       2.222058e-05                                      -0.0006305275
220              0.0002017695                                       2.222058e-05                                      -0.0006305275
221              0.0002017695                                       2.222058e-05                                      -0.0006305275
222              0.0002017695                                       2.222058e-05                                      -0.0006305275
225              0.0002017695                                       2.222058e-05                                      -0.0006305275
229              0.0002017695                                       2.222058e-05                                      -0.0006305275
230              0.0002017695                                       2.222058e-05                                      -0.0006305275
235              0.0002017695                                       2.222058e-05                                      -0.0006305275
237              0.0002017695                                       2.222058e-05                                      -0.0006305275
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                         0.0002608015                                       0.0001551324
4                                         0.0002608015                                       0.0001551324
11                                        0.0002608015                                       0.0001551324
12                                        0.0002608015                                       0.0001551324
19                                        0.0002608015                                       0.0001551324
20                                        0.0002608015                                       0.0001551324
26                                        0.0002608015                                       0.0001551324
27                                        0.0002608015                                       0.0001551324
41                                        0.0002608015                                       0.0001551324
42                                        0.0002608015                                       0.0001551324
43                                        0.0002608015                                       0.0001551324
44                                        0.0002608015                                       0.0001551324
45                                        0.0002608015                                       0.0001551324
46                                        0.0002608015                                       0.0001551324
201                                       0.0002608015                                       0.0001551324
202                                       0.0002608015                                       0.0001551324
203                                       0.0002608015                                       0.0001551324
204                                       0.0002608015                                       0.0001551324
209                                       0.0002608015                                       0.0001551324
210                                       0.0002608015                                       0.0001551324
211                                       0.0002608015                                       0.0001551324
212                                       0.0002608015                                       0.0001551324
213                                       0.0002608015                                       0.0001551324
214                                       0.0002608015                                       0.0001551324
217                                       0.0002608015                                       0.0001551324
218                                       0.0002608015                                       0.0001551324
219                                       0.0002608015                                       0.0001551324
220                                       0.0002608015                                       0.0001551324
221                                       0.0002608015                                       0.0001551324
222                                       0.0002608015                                       0.0001551324
225                                       0.0002608015                                       0.0001551324
229                                       0.0002608015                                       0.0001551324
230                                       0.0002608015                                       0.0001551324
235                                       0.0002608015                                       0.0001551324
237                                       0.0002608015                                       0.0001551324
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                        -0.0002007325                                      -8.194412e-05
4                                        -0.0002007325                                      -8.194412e-05
11                                       -0.0002007325                                      -8.194412e-05
12                                       -0.0002007325                                      -8.194412e-05
19                                       -0.0002007325                                      -8.194412e-05
20                                       -0.0002007325                                      -8.194412e-05
26                                       -0.0002007325                                      -8.194412e-05
27                                       -0.0002007325                                      -8.194412e-05
41                                       -0.0002007325                                      -8.194412e-05
42                                       -0.0002007325                                      -8.194412e-05
43                                       -0.0002007325                                      -8.194412e-05
44                                       -0.0002007325                                      -8.194412e-05
45                                       -0.0002007325                                      -8.194412e-05
46                                       -0.0002007325                                      -8.194412e-05
201                                      -0.0002007325                                      -8.194412e-05
202                                      -0.0002007325                                      -8.194412e-05
203                                      -0.0002007325                                      -8.194412e-05
204                                      -0.0002007325                                      -8.194412e-05
209                                      -0.0002007325                                      -8.194412e-05
210                                      -0.0002007325                                      -8.194412e-05
211                                      -0.0002007325                                      -8.194412e-05
212                                      -0.0002007325                                      -8.194412e-05
213                                      -0.0002007325                                      -8.194412e-05
214                                      -0.0002007325                                      -8.194412e-05
217                                      -0.0002007325                                      -8.194412e-05
218                                      -0.0002007325                                      -8.194412e-05
219                                      -0.0002007325                                      -8.194412e-05
220                                      -0.0002007325                                      -8.194412e-05
221                                      -0.0002007325                                      -8.194412e-05
222                                      -0.0002007325                                      -8.194412e-05
225                                      -0.0002007325                                      -8.194412e-05
229                                      -0.0002007325                                      -8.194412e-05
230                                      -0.0002007325                                      -8.194412e-05
235                                      -0.0002007325                                      -8.194412e-05
237                                      -0.0002007325                                      -8.194412e-05
 [ reached 'max' / getOption("max.print") -- omitted 7 rows ]

###Figure

#mel$Date<- as.Date(as.POSIXct(mel$Date, origin="1970-01-01"))
melfig<-ggplot(phys, aes(y=Melanin_per_tissue, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Melanin~(mg~melanin~'\U2219'~mg~tissue^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
melfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
mel_stress_fig<-ggplot(phys_stress, aes(y=Melanin_per_tissue, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=Melanin_per_tissue, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Melanin_per_tissue, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  geom_boxplot(alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Melanin~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
mel_stress_fig

library(Rmisc)
mel_sum<-summarySE(phys, measurevar='Melanin_per_tissue', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
mel_sum
melfig_3<-ggplot(mel_sum, aes(y=Melanin_per_tissue, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=mel_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "mel", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Melanin_per_tissue-se, ymax=Melanin_per_tissue+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Melanin~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(0,0.003))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
melfig_3

##PPO

ppo<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/PPO all R.csv", strip.white=T)
ppo$Date<- as.Date(ppo$Date, format = "%Y-%m-%d")
ppo$Bleach<-as.factor(ppo$Bleach)
#ppo$Months<-as.factor(ppo$Months)
ppo$Species<-as.factor(ppo$Species)
ppo$Coral_ID<-as.factor(ppo$Coral_ID)
ppo

###Normality

hist(phys$PPO)

ppo.lm<- lm(PPO~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(ppo.lm, ask=FALSE, which=1:6)

###Stats

ppo.lme <- lme(PPO~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(ppo.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, SpeciesPorites compressa:Months10, BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months10Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: PPO
                        Chisq Df Pr(>Chisq)    
(Intercept)            2.8579  1   0.090928 .  
Species                0.1019  1   0.749573    
Bleach                 0.1714  1   0.678897    
Months                44.6291  6  5.545e-08 ***
Species:Bleach         0.0649  1   0.798951    
Species:Months         4.7662  6   0.574124    
Bleach:Months          7.4601  6   0.280387    
Species:Bleach:Months 18.2230  6   0.005698 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(ppo.lme, list(pairwise ~ Species:Bleach:Months), adjust = "tukey", simple="Months")
tukey3
$`emmeans of Species, Bleach, Months`
 Species            Bleach     Months emmean     SE df lower.CL upper.CL
 Montipora capitata Bleach     10      0.166 0.0982 41 -0.03231    0.364
 Porites compressa  Bleach     10      0.123 0.0919 40 -0.06278    0.309
 Montipora capitata Non-bleach 10      0.112 0.0869 41 -0.06379    0.287
 Porites compressa  Non-bleach 10      0.115 0.0824 40 -0.05188    0.281
 Montipora capitata Bleach     12      0.588 0.0825 41  0.42092    0.754
 Porites compressa  Bleach     12      0.590 0.0868 40  0.41449    0.765
 Montipora capitata Non-bleach 12      0.576 0.0825 41  0.40958    0.743
 Porites compressa  Non-bleach 12      1.040 0.0868 40  0.86449    1.215
 Montipora capitata Bleach     17      0.897 0.0825 41  0.73075    1.064
 Porites compressa  Bleach     17      1.010 0.0919 40  0.82446    1.196
 Montipora capitata Non-bleach 17      1.151 0.0825 41  0.98457    1.318
 Porites compressa  Non-bleach 17      0.970 0.0824 40  0.80357    1.136
 Montipora capitata Bleach     20      0.577 0.0869 41  0.40118    0.752
 Porites compressa  Bleach     20      0.742 0.0868 40  0.56672    0.917
 Montipora capitata Non-bleach 20      0.456 0.0825 41  0.28959    0.623
 Porites compressa  Non-bleach 20      0.607 0.0868 40  0.43120    0.782
 Montipora capitata Bleach     24      0.577 0.0869 41  0.40123    0.752
 Porites compressa  Bleach     24      0.737 0.0979 40  0.53885    0.935
 Montipora capitata Non-bleach 24      0.481 0.0869 41  0.30567    0.657
 Porites compressa  Non-bleach 24      0.926 0.0980 40  0.72848    1.125
 Montipora capitata Bleach     29      0.562 0.0869 41  0.38643    0.737
 Porites compressa  Bleach     29      0.834 0.0917 40  0.64894    1.020
 Montipora capitata Non-bleach 29      0.625 0.0869 41  0.44931    0.800
 Porites compressa  Non-bleach 29      0.551 0.0918 40  0.36549    0.737
 Montipora capitata Bleach     35      0.185 0.1293 41 -0.07588    0.446
 Porites compressa  Bleach     35      0.205 0.0981 40  0.00697    0.404
 Montipora capitata Non-bleach 35      0.178 0.0981 41 -0.02017    0.376
 Porites compressa  Non-bleach 35      0.166 0.1156 40 -0.06745    0.400

Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Bleach, Months | Species, Bleach`
Species = Montipora capitata, Bleach = Bleach:
 3                    estimate    SE  df t.ratio p.value
 Months10 - Months12 -0.421642 0.123 168  -3.428  0.0132
 Months10 - Months17 -0.731469 0.123 168  -5.947  <.0001
 Months10 - Months20 -0.410614 0.126 168  -3.256  0.0227
 Months10 - Months24 -0.410757 0.126 168  -3.272  0.0216
 Months10 - Months29 -0.395955 0.126 168  -3.154  0.0308
 Months10 - Months35 -0.019251 0.159 168  -0.121  1.0000
 Months12 - Months17 -0.309828 0.111 168  -2.793  0.0830
 Months12 - Months20  0.011028 0.114 168   0.097  1.0000
 Months12 - Months24  0.010885 0.114 168   0.095  1.0000
 Months12 - Months29  0.025687 0.114 168   0.225  1.0000
 Months12 - Months35  0.402391 0.150 168   2.681  0.1095
 Months17 - Months20  0.320855 0.114 168   2.810  0.0794
 Months17 - Months24  0.320713 0.114 168   2.808  0.0799
 Months17 - Months29  0.335515 0.114 168   2.938  0.0568
 Months17 - Months35  0.712218 0.150 168   4.746  0.0001
 Months20 - Months24 -0.000143 0.117 168  -0.001  1.0000
 Months20 - Months29  0.014659 0.117 168   0.125  1.0000
 Months20 - Months35  0.391363 0.152 168   2.570  0.1419
 Months24 - Months29  0.014802 0.117 168   0.127  1.0000
 Months24 - Months35  0.391506 0.152 168   2.572  0.1415
 Months29 - Months35  0.376704 0.152 168   2.474  0.1754

Species = Porites compressa, Bleach = Bleach:
 3                    estimate    SE  df t.ratio p.value
 Months10 - Months12 -0.466785 0.121 168  -3.866  0.0030
 Months10 - Months17 -0.887241 0.124 168  -7.155  <.0001
 Months10 - Months20 -0.619013 0.121 168  -5.126  <.0001
 Months10 - Months24 -0.613632 0.130 168  -4.725  0.0001
 Months10 - Months29 -0.711312 0.125 168  -5.685  <.0001
 Months10 - Months35 -0.082206 0.130 168  -0.631  0.9957
 Months12 - Months17 -0.420456 0.121 168  -3.482  0.0111
 Months12 - Months20 -0.152228 0.117 168  -1.302  0.8502
 Months12 - Months24 -0.146846 0.126 168  -1.165  0.9063
 Months12 - Months29 -0.244527 0.121 168  -2.016  0.4083
 Months12 - Months35  0.384580 0.127 168   3.029  0.0442
 Months17 - Months20  0.268228 0.121 168   2.221  0.2898
 Months17 - Months24  0.273610 0.130 168   2.107  0.3535
 Months17 - Months29  0.175929 0.125 168   1.406  0.7979
 Months17 - Months35  0.805036 0.130 168   6.183  <.0001
 Months20 - Months24  0.005382 0.126 168   0.043  1.0000
 Months20 - Months29 -0.092299 0.121 168  -0.761  0.9882
 Months20 - Months35  0.536808 0.127 168   4.228  0.0008
 Months24 - Months29 -0.097681 0.129 168  -0.759  0.9884
 Months24 - Months35  0.531426 0.135 168   3.941  0.0022
 Months29 - Months35  0.629106 0.130 168   4.833  0.0001

Species = Montipora capitata, Bleach = Non-bleach:
 3                    estimate    SE  df t.ratio p.value
 Months10 - Months12 -0.464571 0.114 168  -4.068  0.0014
 Months10 - Months17 -1.039566 0.114 168  -9.103  <.0001
 Months10 - Months20 -0.344584 0.114 168  -3.017  0.0456
 Months10 - Months24 -0.369459 0.117 168  -3.160  0.0303
 Months10 - Months29 -0.513107 0.117 168  -4.389  0.0004
 Months10 - Months35 -0.066200 0.126 168  -0.525  0.9985
 Months12 - Months17 -0.574996 0.111 168  -5.184  <.0001
 Months12 - Months20  0.119987 0.111 168   1.082  0.9327
 Months12 - Months24  0.095112 0.114 168   0.833  0.9812
 Months12 - Months29 -0.048536 0.114 168  -0.425  0.9995
 Months12 - Months35  0.398370 0.124 168   3.222  0.0252
 Months17 - Months20  0.694983 0.111 168   6.266  <.0001
 Months17 - Months24  0.670108 0.114 168   5.868  <.0001
 Months17 - Months29  0.526459 0.114 168   4.610  0.0002
 Months17 - Months35  0.973366 0.124 168   7.873  <.0001
 Months20 - Months24 -0.024875 0.114 168  -0.218  1.0000
 Months20 - Months29 -0.168523 0.114 168  -1.476  0.7589
 Months20 - Months35  0.278383 0.124 168   2.252  0.2741
 Months24 - Months29 -0.143648 0.117 168  -1.229  0.8821
 Months24 - Months35  0.303258 0.126 168   2.403  0.2039
 Months29 - Months35  0.446907 0.126 168   3.541  0.0091

Species = Porites compressa, Bleach = Non-bleach:
 3                    estimate    SE  df t.ratio p.value
 Months10 - Months12 -0.925390 0.114 168  -8.106  <.0001
 Months10 - Months17 -0.855443 0.111 168  -7.713  <.0001
 Months10 - Months20 -0.492104 0.114 168  -4.310  0.0005
 Months10 - Months24 -0.811917 0.123 168  -6.576  <.0001
 Months10 - Months29 -0.436494 0.119 168  -3.682  0.0057
 Months10 - Months35 -0.051600 0.137 168  -0.376  0.9998
 Months12 - Months17  0.069948 0.114 168   0.613  0.9963
 Months12 - Months20  0.433287 0.117 168   3.706  0.0052
 Months12 - Months24  0.113473 0.126 168   0.900  0.9721
 Months12 - Months29  0.488896 0.121 168   4.032  0.0016
 Months12 - Months35  0.873790 0.140 168   6.256  <.0001
 Months17 - Months20  0.363339 0.114 168   3.183  0.0283
 Months17 - Months24  0.043525 0.123 168   0.353  0.9998
 Months17 - Months29  0.418949 0.119 168   3.534  0.0094
 Months17 - Months35  0.803843 0.137 168   5.852  <.0001
 Months20 - Months24 -0.319813 0.126 168  -2.537  0.1531
 Months20 - Months29  0.055610 0.121 168   0.459  0.9993
 Months20 - Months35  0.440504 0.140 168   3.154  0.0308
 Months24 - Months29  0.375423 0.129 168   2.918  0.0599
 Months24 - Months35  0.760317 0.148 168   5.149  <.0001
 Months29 - Months35  0.384894 0.143 168   2.688  0.1078

Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 7 estimates 
summary(ppo.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)  Residual
StdDev:  0.08171943 0.2480159

Fixed effects: PPO ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M12 SPc:M17
SpeciesPorites compressa                           -0.730                                                                                 
BleachNon-bleach                                   -0.749  0.547                                                                          
Months12                                           -0.743  0.543  0.557                                                                   
Months17                                           -0.743  0.543  0.557  0.593                                                            
Months20                                           -0.727  0.531  0.544  0.580  0.580                                                     
Months24                                           -0.724  0.528  0.542  0.578  0.578  0.565                                              
Months29                                           -0.724  0.528  0.542  0.578  0.578  0.565  0.566                                       
Months35                                           -0.585  0.427  0.438  0.459  0.459  0.450  0.449  0.449                                
SpeciesPorites compressa:BleachNon-bleach           0.546 -0.746 -0.729 -0.406 -0.406 -0.397 -0.395 -0.395 -0.319                         
SpeciesPorites compressa:Months12                   0.530 -0.722 -0.397 -0.714 -0.423 -0.414 -0.412 -0.412 -0.327  0.542                  
SpeciesPorites compressa:Months17                   0.523 -0.709 -0.392 -0.418 -0.704 -0.409 -0.407 -0.407 -0.323  0.531    0.554         
SpeciesPorites compressa:Months20                   0.525 -0.713 -0.393 -0.419 -0.419 -0.722 -0.408 -0.408 -0.325  0.535    0.556   0.547 
SpeciesPorites compressa:Months24                   0.503 -0.691 -0.377 -0.402 -0.402 -0.392 -0.695 -0.393 -0.312  0.521    0.536   0.527 
SpeciesPorites compressa:Months29                   0.513 -0.703 -0.384 -0.409 -0.409 -0.400 -0.401 -0.708 -0.318  0.530    0.546   0.537 
SpeciesPorites compressa:Months35                   0.453 -0.616 -0.339 -0.355 -0.355 -0.349 -0.348 -0.348 -0.774  0.460    0.471   0.464 
BleachNon-bleach:Months12                           0.545 -0.398 -0.721 -0.733 -0.435 -0.425 -0.423 -0.423 -0.336  0.526    0.523   0.306 
BleachNon-bleach:Months17                           0.545 -0.398 -0.721 -0.435 -0.733 -0.425 -0.423 -0.423 -0.336  0.526    0.310   0.516 
BleachNon-bleach:Months20                           0.539 -0.393 -0.712 -0.430 -0.430 -0.741 -0.418 -0.418 -0.334  0.519    0.307   0.303 
BleachNon-bleach:Months24                           0.530 -0.387 -0.701 -0.423 -0.423 -0.413 -0.732 -0.414 -0.328  0.511    0.302   0.298 
BleachNon-bleach:Months29                           0.530 -0.387 -0.701 -0.423 -0.423 -0.413 -0.414 -0.732 -0.328  0.511    0.302   0.298 
BleachNon-bleach:Months35                           0.458 -0.335 -0.603 -0.360 -0.360 -0.353 -0.352 -0.352 -0.784  0.440    0.257   0.253 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.387  0.526  0.512  0.520  0.309  0.302  0.301  0.301  0.239 -0.701   -0.730  -0.404 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.387  0.524  0.512  0.309  0.520  0.302  0.301  0.301  0.239 -0.699   -0.409  -0.739 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.385  0.523  0.509  0.307  0.307  0.530  0.299  0.299  0.239 -0.697   -0.409  -0.401 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.365  0.504  0.483  0.291  0.291  0.285  0.504  0.286  0.226 -0.672   -0.391  -0.382 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.373  0.513  0.493  0.297  0.297  0.291  0.291  0.515  0.231 -0.684   -0.398  -0.390 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.335  0.456  0.442  0.263  0.263  0.258  0.257  0.257  0.574 -0.603   -0.350  -0.344 
                                                   SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M12 BN-:M17 BN-:M20 BN-:M24 BN-:M29 BN-:M3 SPc:BN-:M12
SpeciesPorites compressa                                                                                                                    
BleachNon-bleach                                                                                                                            
Months12                                                                                                                                    
Months17                                                                                                                                    
Months20                                                                                                                                    
Months24                                                                                                                                    
Months29                                                                                                                                    
Months35                                                                                                                                    
SpeciesPorites compressa:BleachNon-bleach                                                                                                   
SpeciesPorites compressa:Months12                                                                                                           
SpeciesPorites compressa:Months17                                                                                                           
SpeciesPorites compressa:Months20                                                                                                           
SpeciesPorites compressa:Months24                   0.530                                                                                   
SpeciesPorites compressa:Months29                   0.540   0.528                                                                           
SpeciesPorites compressa:Months35                   0.466   0.452   0.461                                                                   
BleachNon-bleach:Months12                           0.307   0.294   0.300   0.260                                                           
BleachNon-bleach:Months17                           0.307   0.294   0.300   0.260  0.563                                                    
BleachNon-bleach:Months20                           0.535   0.291   0.296   0.258  0.556   0.556                                            
BleachNon-bleach:Months24                           0.298   0.509   0.293   0.254  0.547   0.547   0.540                                    
BleachNon-bleach:Months29                           0.298   0.288   0.518   0.254  0.547   0.547   0.540   0.535                            
BleachNon-bleach:Months35                           0.255   0.244   0.249   0.607  0.464   0.464   0.460   0.453   0.453                    
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.407  -0.392  -0.399  -0.343 -0.710  -0.400  -0.395  -0.389  -0.389  -0.330            
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.404  -0.389  -0.397  -0.343 -0.400  -0.710  -0.395  -0.389  -0.389  -0.330  0.532     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.735  -0.390  -0.397  -0.342 -0.398  -0.398  -0.715  -0.386  -0.386  -0.328  0.532     
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.386  -0.730  -0.387  -0.330 -0.377  -0.377  -0.372  -0.689  -0.369  -0.313  0.507     
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.394  -0.388  -0.731  -0.336 -0.385  -0.385  -0.380  -0.377  -0.703  -0.319  0.517     
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.346  -0.335  -0.341  -0.741 -0.340  -0.340  -0.336  -0.332  -0.332  -0.732  0.454     
                                                   SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                          
BleachNon-bleach                                                                                  
Months12                                                                                          
Months17                                                                                          
Months20                                                                                          
Months24                                                                                          
Months29                                                                                          
Months35                                                                                          
SpeciesPorites compressa:BleachNon-bleach                                                         
SpeciesPorites compressa:Months12                                                                 
SpeciesPorites compressa:Months17                                                                 
SpeciesPorites compressa:Months20                                                                 
SpeciesPorites compressa:Months24                                                                 
SpeciesPorites compressa:Months29                                                                 
SpeciesPorites compressa:Months35                                                                 
BleachNon-bleach:Months12                                                                         
BleachNon-bleach:Months17                                                                         
BleachNon-bleach:Months20                                                                         
BleachNon-bleach:Months24                                                                         
BleachNon-bleach:Months29                                                                         
BleachNon-bleach:Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach:Months12                                                
SpeciesPorites compressa:BleachNon-bleach:Months17                                                
SpeciesPorites compressa:BleachNon-bleach:Months20  0.529                                         
SpeciesPorites compressa:BleachNon-bleach:Months24  0.503       0.504                             
SpeciesPorites compressa:BleachNon-bleach:Months29  0.513       0.514       0.502                 
SpeciesPorites compressa:BleachNon-bleach:Months35  0.452       0.451       0.432       0.442     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.23210616 -0.49095801 -0.03706976  0.36723306  5.78496414 

Number of Observations: 236
Number of Groups: 42 
r.squaredGLMM(ppo.lme)
          R2m       R2c
[1,] 0.576574 0.6180415

####Coefficients

coef(ppo.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months12  Months17 Months20  Months24  Months29   Months35
3    0.21003463              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
4    0.16565610              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
11   0.25416927              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
12   0.16387851              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
19   0.13353225              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
20   0.15023763              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
26   0.08390408              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
27   0.13863682              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
41   0.13286505              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
42   0.20734714              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
43   0.15630399              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
44   0.20435938              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
45   0.17243579              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
46   0.19940512              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
201  0.23395776              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
202  0.26668772              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
203  0.20075050              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
204  0.20359058              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
209  0.14171092              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
210  0.10894524              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
211  0.10343336              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
212  0.12656061              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
213  0.16003948              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
214  0.16723238              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
217  0.17389017              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
218  0.17731455              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
219  0.11970041              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
220  0.12325040              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
221  0.09464757              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
222  0.17251257              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
225  0.16551289              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
229  0.16361168              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
230  0.08958169              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
235  0.16157814              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
237  0.24227673              -0.04293839      -0.05427982 0.4216415 0.7314692 0.410614 0.4107566 0.3959546 0.01925084
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months12 SpeciesPorites compressa:Months17
3                                  0.04580488                        0.04514383                         0.1557721
4                                  0.04580488                        0.04514383                         0.1557721
11                                 0.04580488                        0.04514383                         0.1557721
12                                 0.04580488                        0.04514383                         0.1557721
19                                 0.04580488                        0.04514383                         0.1557721
20                                 0.04580488                        0.04514383                         0.1557721
26                                 0.04580488                        0.04514383                         0.1557721
27                                 0.04580488                        0.04514383                         0.1557721
41                                 0.04580488                        0.04514383                         0.1557721
42                                 0.04580488                        0.04514383                         0.1557721
43                                 0.04580488                        0.04514383                         0.1557721
44                                 0.04580488                        0.04514383                         0.1557721
45                                 0.04580488                        0.04514383                         0.1557721
46                                 0.04580488                        0.04514383                         0.1557721
201                                0.04580488                        0.04514383                         0.1557721
202                                0.04580488                        0.04514383                         0.1557721
203                                0.04580488                        0.04514383                         0.1557721
204                                0.04580488                        0.04514383                         0.1557721
209                                0.04580488                        0.04514383                         0.1557721
210                                0.04580488                        0.04514383                         0.1557721
211                                0.04580488                        0.04514383                         0.1557721
212                                0.04580488                        0.04514383                         0.1557721
213                                0.04580488                        0.04514383                         0.1557721
214                                0.04580488                        0.04514383                         0.1557721
217                                0.04580488                        0.04514383                         0.1557721
218                                0.04580488                        0.04514383                         0.1557721
219                                0.04580488                        0.04514383                         0.1557721
220                                0.04580488                        0.04514383                         0.1557721
221                                0.04580488                        0.04514383                         0.1557721
222                                0.04580488                        0.04514383                         0.1557721
225                                0.04580488                        0.04514383                         0.1557721
229                                0.04580488                        0.04514383                         0.1557721
230                                0.04580488                        0.04514383                         0.1557721
235                                0.04580488                        0.04514383                         0.1557721
237                                0.04580488                        0.04514383                         0.1557721
    SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35
3                           0.2083996                          0.202875                         0.3153576                        0.06295488
4                           0.2083996                          0.202875                         0.3153576                        0.06295488
11                          0.2083996                          0.202875                         0.3153576                        0.06295488
12                          0.2083996                          0.202875                         0.3153576                        0.06295488
19                          0.2083996                          0.202875                         0.3153576                        0.06295488
20                          0.2083996                          0.202875                         0.3153576                        0.06295488
26                          0.2083996                          0.202875                         0.3153576                        0.06295488
27                          0.2083996                          0.202875                         0.3153576                        0.06295488
41                          0.2083996                          0.202875                         0.3153576                        0.06295488
42                          0.2083996                          0.202875                         0.3153576                        0.06295488
43                          0.2083996                          0.202875                         0.3153576                        0.06295488
44                          0.2083996                          0.202875                         0.3153576                        0.06295488
45                          0.2083996                          0.202875                         0.3153576                        0.06295488
46                          0.2083996                          0.202875                         0.3153576                        0.06295488
201                         0.2083996                          0.202875                         0.3153576                        0.06295488
202                         0.2083996                          0.202875                         0.3153576                        0.06295488
203                         0.2083996                          0.202875                         0.3153576                        0.06295488
204                         0.2083996                          0.202875                         0.3153576                        0.06295488
209                         0.2083996                          0.202875                         0.3153576                        0.06295488
210                         0.2083996                          0.202875                         0.3153576                        0.06295488
211                         0.2083996                          0.202875                         0.3153576                        0.06295488
212                         0.2083996                          0.202875                         0.3153576                        0.06295488
213                         0.2083996                          0.202875                         0.3153576                        0.06295488
214                         0.2083996                          0.202875                         0.3153576                        0.06295488
217                         0.2083996                          0.202875                         0.3153576                        0.06295488
218                         0.2083996                          0.202875                         0.3153576                        0.06295488
219                         0.2083996                          0.202875                         0.3153576                        0.06295488
220                         0.2083996                          0.202875                         0.3153576                        0.06295488
221                         0.2083996                          0.202875                         0.3153576                        0.06295488
222                         0.2083996                          0.202875                         0.3153576                        0.06295488
225                         0.2083996                          0.202875                         0.3153576                        0.06295488
229                         0.2083996                          0.202875                         0.3153576                        0.06295488
230                         0.2083996                          0.202875                         0.3153576                        0.06295488
235                         0.2083996                          0.202875                         0.3153576                        0.06295488
237                         0.2083996                          0.202875                         0.3153576                        0.06295488
    BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20 BleachNon-bleach:Months24 BleachNon-bleach:Months29
3                  0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
4                  0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
11                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
12                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
19                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
20                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
26                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
27                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
41                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
42                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
43                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
44                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
45                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
46                 0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
201                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
202                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
203                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
204                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
209                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
210                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
211                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
212                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
213                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
214                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
217                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
218                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
219                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
220                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
221                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
222                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
225                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
229                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
230                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
235                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
237                0.04292905                 0.3080971               -0.06603032               -0.04129801                 0.1171523
    BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                  0.04694947                                           0.415676                                         -0.3398956
4                  0.04694947                                           0.415676                                         -0.3398956
11                 0.04694947                                           0.415676                                         -0.3398956
12                 0.04694947                                           0.415676                                         -0.3398956
19                 0.04694947                                           0.415676                                         -0.3398956
20                 0.04694947                                           0.415676                                         -0.3398956
26                 0.04694947                                           0.415676                                         -0.3398956
27                 0.04694947                                           0.415676                                         -0.3398956
41                 0.04694947                                           0.415676                                         -0.3398956
42                 0.04694947                                           0.415676                                         -0.3398956
43                 0.04694947                                           0.415676                                         -0.3398956
44                 0.04694947                                           0.415676                                         -0.3398956
45                 0.04694947                                           0.415676                                         -0.3398956
46                 0.04694947                                           0.415676                                         -0.3398956
201                0.04694947                                           0.415676                                         -0.3398956
202                0.04694947                                           0.415676                                         -0.3398956
203                0.04694947                                           0.415676                                         -0.3398956
204                0.04694947                                           0.415676                                         -0.3398956
209                0.04694947                                           0.415676                                         -0.3398956
210                0.04694947                                           0.415676                                         -0.3398956
211                0.04694947                                           0.415676                                         -0.3398956
212                0.04694947                                           0.415676                                         -0.3398956
213                0.04694947                                           0.415676                                         -0.3398956
214                0.04694947                                           0.415676                                         -0.3398956
217                0.04694947                                           0.415676                                         -0.3398956
218                0.04694947                                           0.415676                                         -0.3398956
219                0.04694947                                           0.415676                                         -0.3398956
220                0.04694947                                           0.415676                                         -0.3398956
221                0.04694947                                           0.415676                                         -0.3398956
222                0.04694947                                           0.415676                                         -0.3398956
225                0.04694947                                           0.415676                                         -0.3398956
229                0.04694947                                           0.415676                                         -0.3398956
230                0.04694947                                           0.415676                                         -0.3398956
235                0.04694947                                           0.415676                                         -0.3398956
237                0.04694947                                           0.415676                                         -0.3398956
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                          -0.06087927                                          0.2395837
4                                          -0.06087927                                          0.2395837
11                                         -0.06087927                                          0.2395837
12                                         -0.06087927                                          0.2395837
19                                         -0.06087927                                          0.2395837
20                                         -0.06087927                                          0.2395837
26                                         -0.06087927                                          0.2395837
27                                         -0.06087927                                          0.2395837
41                                         -0.06087927                                          0.2395837
42                                         -0.06087927                                          0.2395837
43                                         -0.06087927                                          0.2395837
44                                         -0.06087927                                          0.2395837
45                                         -0.06087927                                          0.2395837
46                                         -0.06087927                                          0.2395837
201                                        -0.06087927                                          0.2395837
202                                        -0.06087927                                          0.2395837
203                                        -0.06087927                                          0.2395837
204                                        -0.06087927                                          0.2395837
209                                        -0.06087927                                          0.2395837
210                                        -0.06087927                                          0.2395837
211                                        -0.06087927                                          0.2395837
212                                        -0.06087927                                          0.2395837
213                                        -0.06087927                                          0.2395837
214                                        -0.06087927                                          0.2395837
217                                        -0.06087927                                          0.2395837
218                                        -0.06087927                                          0.2395837
219                                        -0.06087927                                          0.2395837
220                                        -0.06087927                                          0.2395837
221                                        -0.06087927                                          0.2395837
222                                        -0.06087927                                          0.2395837
225                                        -0.06087927                                          0.2395837
229                                        -0.06087927                                          0.2395837
230                                        -0.06087927                                          0.2395837
235                                        -0.06087927                                          0.2395837
237                                        -0.06087927                                          0.2395837
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           -0.3919705                                        -0.07755502
4                                           -0.3919705                                        -0.07755502
11                                          -0.3919705                                        -0.07755502
12                                          -0.3919705                                        -0.07755502
19                                          -0.3919705                                        -0.07755502
20                                          -0.3919705                                        -0.07755502
26                                          -0.3919705                                        -0.07755502
27                                          -0.3919705                                        -0.07755502
41                                          -0.3919705                                        -0.07755502
42                                          -0.3919705                                        -0.07755502
43                                          -0.3919705                                        -0.07755502
44                                          -0.3919705                                        -0.07755502
45                                          -0.3919705                                        -0.07755502
46                                          -0.3919705                                        -0.07755502
201                                         -0.3919705                                        -0.07755502
202                                         -0.3919705                                        -0.07755502
203                                         -0.3919705                                        -0.07755502
204                                         -0.3919705                                        -0.07755502
209                                         -0.3919705                                        -0.07755502
210                                         -0.3919705                                        -0.07755502
211                                         -0.3919705                                        -0.07755502
212                                         -0.3919705                                        -0.07755502
213                                         -0.3919705                                        -0.07755502
214                                         -0.3919705                                        -0.07755502
217                                         -0.3919705                                        -0.07755502
218                                         -0.3919705                                        -0.07755502
219                                         -0.3919705                                        -0.07755502
220                                         -0.3919705                                        -0.07755502
221                                         -0.3919705                                        -0.07755502
222                                         -0.3919705                                        -0.07755502
225                                         -0.3919705                                        -0.07755502
229                                         -0.3919705                                        -0.07755502
230                                         -0.3919705                                        -0.07755502
235                                         -0.3919705                                        -0.07755502
237                                         -0.3919705                                        -0.07755502
 [ reached 'max' / getOption("max.print") -- omitted 7 rows ]

###Figure

#ppo$Date<- as.Date(as.POSIXct(ppo$Date, origin="1970-01-01"))
ppofig<-ggplot(phys, aes(y=PPO, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
ppofig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
ppo_stress_fig<-ggplot(phys_stress, aes(y=PPO, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=PPO, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=PPO, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  geom_boxplot(alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
ppo_stress_fig

library(Rmisc)
ppo_sum<-summarySE(phys, measurevar='PPO', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
ppo_sum
ppofig_3<-ggplot(ppo_sum, aes(y=PPO, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=ppo_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "ppo", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=PPO-se, ymax=PPO+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(0,1.25))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
ppofig_3

##Pnet ###Normality

hist(phys$Pmax)

Pnet.lm<- lm(Pmax~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(Pnet.lm, ask=FALSE, which=1:6)

###Stats

Pnet.lme <- lme(Pmax~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(Pnet.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, Months12, Months17, Months20, SpeciesPorites compressa:Months10, SpeciesPorites compressa:Months12, SpeciesPorites compressa:Months17, SpeciesPorites compressa:Months20, BleachNon-bleach:Months10, BleachNon-bleach:Months12, BleachNon-bleach:Months17, BleachNon-bleach:Months20, SpeciesPorites compressa:BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months12, SpeciesPorites compressa:BleachNon-bleach:Months17, SpeciesPorites compressa:BleachNon-bleach:Months20Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Pmax
                        Chisq Df Pr(>Chisq)    
(Intercept)           78.0618  1  < 2.2e-16 ***
Species                4.7354  1   0.029549 *  
Bleach                 0.9484  1   0.330127    
Months                 2.9853  3   0.393897    
Species:Bleach         1.3964  1   0.237319    
Species:Months        11.8151  3   0.008044 ** 
Bleach:Months          0.5269  3   0.912933    
Species:Bleach:Months  5.9321  3   0.114962    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(Pnet.lme, list(pairwise ~ Months), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Months`
 Months emmean    SE df lower.CL upper.CL
 0        2.71 0.118 44     2.48     2.95
 24       2.68 0.130 44     2.42     2.95
 29       2.89 0.130 44     2.62     3.15
 35       2.71 0.118 44     2.48     2.95

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Months`
 1                    estimate    SE df t.ratio p.value
 Months0 - Months24   0.030025 0.159 82   0.188  0.9976
 Months0 - Months29  -0.173940 0.159 82  -1.092  0.6957
 Months0 - Months35  -0.000334 0.151 82  -0.002  1.0000
 Months24 - Months29 -0.203965 0.165 82  -1.234  0.6070
 Months24 - Months35 -0.030359 0.159 82  -0.191  0.9975
 Months29 - Months35  0.173606 0.159 82   1.089  0.6970

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 4 estimates 
tukey3<- emmeans(Pnet.lme, list(pairwise ~Species:Months), adjust = "tukey", simple="Months")
NOTE: Results may be misleading due to involvement in interactions
tukey3 #no differences within Species and Bleach 
$`emmeans of Species, Months`
 Species            Months emmean    SE df lower.CL upper.CL
 Montipora capitata 0        2.22 0.165 45     1.89     2.55
 Porites compressa  0        3.21 0.169 44     2.87     3.55
 Montipora capitata 24       1.81 0.173 45     1.46     2.16
 Porites compressa  24       3.55 0.195 44     3.16     3.94
 Montipora capitata 29       2.27 0.173 45     1.92     2.62
 Porites compressa  29       3.50 0.195 44     3.11     3.89
 Montipora capitata 35       2.11 0.165 45     1.77     2.44
 Porites compressa  35       3.32 0.169 44     2.98     3.66

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Species`
Species = Montipora capitata:
 2                   estimate    SE df t.ratio p.value
 Months0 - Months24    0.4039 0.214 82   1.885  0.2423
 Months0 - Months29   -0.0563 0.214 82  -0.263  0.9936
 Months0 - Months35    0.1108 0.210 82   0.529  0.9519
 Months24 - Months29  -0.4602 0.219 82  -2.105  0.1600
 Months24 - Months35  -0.2931 0.214 82  -1.368  0.5229
 Months29 - Months35   0.1671 0.214 82   0.780  0.8632

Species = Porites compressa:
 2                   estimate    SE df t.ratio p.value
 Months0 - Months24   -0.3439 0.236 82  -1.457  0.4679
 Months0 - Months29   -0.2916 0.236 82  -1.236  0.6062
 Months0 - Months35   -0.1115 0.218 82  -0.512  0.9561
 Months24 - Months29   0.0523 0.248 82   0.211  0.9967
 Months24 - Months35   0.2324 0.236 82   0.985  0.7585
 Months29 - Months35   0.1801 0.236 82   0.763  0.8708

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 4 estimates 
summary(Pnet.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)  Residual
StdDev:   0.3378076 0.6558163

Fixed effects: Pmax ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M24 SPc:M29 SPc:M3 BN-:M24 BN-:M29
SpeciesPorites compressa                           -0.710                                                                                   
BleachNon-bleach                                   -0.707  0.502                                                                            
Months24                                           -0.610  0.433  0.431                                                                     
Months29                                           -0.610  0.433  0.431  0.479                                                              
Months35                                           -0.637  0.452  0.450  0.489  0.489                                                       
SpeciesPorites compressa:BleachNon-bleach           0.497 -0.696 -0.703 -0.303 -0.303 -0.316                                                
SpeciesPorites compressa:Months24                   0.412 -0.592 -0.291 -0.675 -0.323 -0.330  0.420                                         
SpeciesPorites compressa:Months29                   0.412 -0.592 -0.291 -0.323 -0.675 -0.330  0.420    0.458                                
SpeciesPorites compressa:Months35                   0.448 -0.643 -0.317 -0.344 -0.344 -0.703  0.450    0.469   0.469                        
BleachNon-bleach:Months24                           0.431 -0.306 -0.610 -0.707 -0.339 -0.346  0.429    0.477   0.229   0.243                
BleachNon-bleach:Months29                           0.431 -0.306 -0.610 -0.339 -0.707 -0.346  0.429    0.229   0.477   0.243  0.479         
BleachNon-bleach:Months35                           0.450 -0.320 -0.637 -0.346 -0.346 -0.707  0.448    0.233   0.233   0.497  0.489   0.489 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.287  0.418  0.406  0.471  0.226  0.230 -0.606   -0.705  -0.327  -0.327 -0.666  -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.287  0.418  0.406  0.226  0.471  0.230 -0.606   -0.327  -0.705  -0.327 -0.319  -0.666 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.312  0.448  0.441  0.240  0.240  0.490 -0.646   -0.327  -0.327  -0.697 -0.339  -0.339 
                                                   BN-:M3 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                         
BleachNon-bleach                                                                 
Months24                                                                         
Months29                                                                         
Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach                                        
SpeciesPorites compressa:Months24                                                
SpeciesPorites compressa:Months29                                                
SpeciesPorites compressa:Months35                                                
BleachNon-bleach:Months24                                                        
BleachNon-bleach:Months29                                                        
BleachNon-bleach:Months35                                                        
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.326                        
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.326  0.473                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.693  0.470       0.470     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.36950502 -0.42003785  0.01543632  0.41858547  2.92307316 

Number of Observations: 142
Number of Groups: 46 
r.squaredGLMM(Pnet.lme)
           R2m       R2c
[1,] 0.4768679 0.5865623

####Coefficients

coef(Pnet.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months24  Months29   Months35 SpeciesPorites compressa:BleachNon-bleach
3      2.042975                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
4      2.165240                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
11     2.131658                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
12     1.971555                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
19     2.089157                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
20     2.090950                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
26     1.394689                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
27     2.109112                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
35     1.930132                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
36     2.149096                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
41     1.990711                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
42     1.818439                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
43     2.068922                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
44     1.795500                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
45     1.818021                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
46     1.970410                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
201    1.961452                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
202    2.231923                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
203    2.068824                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
204    2.067341                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
209    1.917495                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
210    2.025408                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
211    2.004383                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
212    1.982239                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
213    2.112488                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
214    2.063509                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
217    2.104896                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
218    2.013197                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
219    2.007239                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
220    1.945496                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
221    2.186770                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
222    2.070479                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
225    2.133621                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
226    1.961916                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
229    2.565654                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
230    2.183383                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
235    2.527450                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
236    2.174823                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
237    1.869670                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
238    2.370242                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
239    1.679782                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
240    2.530165                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
243    2.029432                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
244    2.315568                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
247    1.765987                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
248    2.216011                0.7136888        0.3206509 -0.376059 0.1138286 -0.1994816                                  0.553421
    SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35 BleachNon-bleach:Months24
3                            1.497114                         0.4471068                         0.3816755               -0.05574266
4                            1.497114                         0.4471068                         0.3816755               -0.05574266
11                           1.497114                         0.4471068                         0.3816755               -0.05574266
12                           1.497114                         0.4471068                         0.3816755               -0.05574266
19                           1.497114                         0.4471068                         0.3816755               -0.05574266
20                           1.497114                         0.4471068                         0.3816755               -0.05574266
26                           1.497114                         0.4471068                         0.3816755               -0.05574266
27                           1.497114                         0.4471068                         0.3816755               -0.05574266
35                           1.497114                         0.4471068                         0.3816755               -0.05574266
36                           1.497114                         0.4471068                         0.3816755               -0.05574266
41                           1.497114                         0.4471068                         0.3816755               -0.05574266
42                           1.497114                         0.4471068                         0.3816755               -0.05574266
43                           1.497114                         0.4471068                         0.3816755               -0.05574266
44                           1.497114                         0.4471068                         0.3816755               -0.05574266
45                           1.497114                         0.4471068                         0.3816755               -0.05574266
46                           1.497114                         0.4471068                         0.3816755               -0.05574266
201                          1.497114                         0.4471068                         0.3816755               -0.05574266
202                          1.497114                         0.4471068                         0.3816755               -0.05574266
203                          1.497114                         0.4471068                         0.3816755               -0.05574266
204                          1.497114                         0.4471068                         0.3816755               -0.05574266
209                          1.497114                         0.4471068                         0.3816755               -0.05574266
210                          1.497114                         0.4471068                         0.3816755               -0.05574266
211                          1.497114                         0.4471068                         0.3816755               -0.05574266
212                          1.497114                         0.4471068                         0.3816755               -0.05574266
213                          1.497114                         0.4471068                         0.3816755               -0.05574266
214                          1.497114                         0.4471068                         0.3816755               -0.05574266
217                          1.497114                         0.4471068                         0.3816755               -0.05574266
218                          1.497114                         0.4471068                         0.3816755               -0.05574266
219                          1.497114                         0.4471068                         0.3816755               -0.05574266
220                          1.497114                         0.4471068                         0.3816755               -0.05574266
221                          1.497114                         0.4471068                         0.3816755               -0.05574266
222                          1.497114                         0.4471068                         0.3816755               -0.05574266
225                          1.497114                         0.4471068                         0.3816755               -0.05574266
226                          1.497114                         0.4471068                         0.3816755               -0.05574266
229                          1.497114                         0.4471068                         0.3816755               -0.05574266
230                          1.497114                         0.4471068                         0.3816755               -0.05574266
235                          1.497114                         0.4471068                         0.3816755               -0.05574266
236                          1.497114                         0.4471068                         0.3816755               -0.05574266
237                          1.497114                         0.4471068                         0.3816755               -0.05574266
238                          1.497114                         0.4471068                         0.3816755               -0.05574266
239                          1.497114                         0.4471068                         0.3816755               -0.05574266
240                          1.497114                         0.4471068                         0.3816755               -0.05574266
243                          1.497114                         0.4471068                         0.3816755               -0.05574266
244                          1.497114                         0.4471068                         0.3816755               -0.05574266
247                          1.497114                         0.4471068                         0.3816755               -0.05574266
248                          1.497114                         0.4471068                         0.3816755               -0.05574266
    BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months24
3                  -0.1150532                 0.1772857                                          -1.498607
4                  -0.1150532                 0.1772857                                          -1.498607
11                 -0.1150532                 0.1772857                                          -1.498607
12                 -0.1150532                 0.1772857                                          -1.498607
19                 -0.1150532                 0.1772857                                          -1.498607
20                 -0.1150532                 0.1772857                                          -1.498607
26                 -0.1150532                 0.1772857                                          -1.498607
27                 -0.1150532                 0.1772857                                          -1.498607
35                 -0.1150532                 0.1772857                                          -1.498607
36                 -0.1150532                 0.1772857                                          -1.498607
41                 -0.1150532                 0.1772857                                          -1.498607
42                 -0.1150532                 0.1772857                                          -1.498607
43                 -0.1150532                 0.1772857                                          -1.498607
44                 -0.1150532                 0.1772857                                          -1.498607
45                 -0.1150532                 0.1772857                                          -1.498607
46                 -0.1150532                 0.1772857                                          -1.498607
201                -0.1150532                 0.1772857                                          -1.498607
202                -0.1150532                 0.1772857                                          -1.498607
203                -0.1150532                 0.1772857                                          -1.498607
204                -0.1150532                 0.1772857                                          -1.498607
209                -0.1150532                 0.1772857                                          -1.498607
210                -0.1150532                 0.1772857                                          -1.498607
211                -0.1150532                 0.1772857                                          -1.498607
212                -0.1150532                 0.1772857                                          -1.498607
213                -0.1150532                 0.1772857                                          -1.498607
214                -0.1150532                 0.1772857                                          -1.498607
217                -0.1150532                 0.1772857                                          -1.498607
218                -0.1150532                 0.1772857                                          -1.498607
219                -0.1150532                 0.1772857                                          -1.498607
220                -0.1150532                 0.1772857                                          -1.498607
221                -0.1150532                 0.1772857                                          -1.498607
222                -0.1150532                 0.1772857                                          -1.498607
225                -0.1150532                 0.1772857                                          -1.498607
226                -0.1150532                 0.1772857                                          -1.498607
229                -0.1150532                 0.1772857                                          -1.498607
230                -0.1150532                 0.1772857                                          -1.498607
235                -0.1150532                 0.1772857                                          -1.498607
236                -0.1150532                 0.1772857                                          -1.498607
237                -0.1150532                 0.1772857                                          -1.498607
238                -0.1150532                 0.1772857                                          -1.498607
239                -0.1150532                 0.1772857                                          -1.498607
240                -0.1150532                 0.1772857                                          -1.498607
243                -0.1150532                 0.1772857                                          -1.498607
244                -0.1150532                 0.1772857                                          -1.498607
247                -0.1150532                 0.1772857                                          -1.498607
248                -0.1150532                 0.1772857                                          -1.498607
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           -0.4236605                                         -0.3186589
4                                           -0.4236605                                         -0.3186589
11                                          -0.4236605                                         -0.3186589
12                                          -0.4236605                                         -0.3186589
19                                          -0.4236605                                         -0.3186589
20                                          -0.4236605                                         -0.3186589
26                                          -0.4236605                                         -0.3186589
27                                          -0.4236605                                         -0.3186589
35                                          -0.4236605                                         -0.3186589
36                                          -0.4236605                                         -0.3186589
41                                          -0.4236605                                         -0.3186589
42                                          -0.4236605                                         -0.3186589
43                                          -0.4236605                                         -0.3186589
44                                          -0.4236605                                         -0.3186589
45                                          -0.4236605                                         -0.3186589
46                                          -0.4236605                                         -0.3186589
201                                         -0.4236605                                         -0.3186589
202                                         -0.4236605                                         -0.3186589
203                                         -0.4236605                                         -0.3186589
204                                         -0.4236605                                         -0.3186589
209                                         -0.4236605                                         -0.3186589
210                                         -0.4236605                                         -0.3186589
211                                         -0.4236605                                         -0.3186589
212                                         -0.4236605                                         -0.3186589
213                                         -0.4236605                                         -0.3186589
214                                         -0.4236605                                         -0.3186589
217                                         -0.4236605                                         -0.3186589
218                                         -0.4236605                                         -0.3186589
219                                         -0.4236605                                         -0.3186589
220                                         -0.4236605                                         -0.3186589
221                                         -0.4236605                                         -0.3186589
222                                         -0.4236605                                         -0.3186589
225                                         -0.4236605                                         -0.3186589
226                                         -0.4236605                                         -0.3186589
229                                         -0.4236605                                         -0.3186589
230                                         -0.4236605                                         -0.3186589
235                                         -0.4236605                                         -0.3186589
236                                         -0.4236605                                         -0.3186589
237                                         -0.4236605                                         -0.3186589
238                                         -0.4236605                                         -0.3186589
239                                         -0.4236605                                         -0.3186589
240                                         -0.4236605                                         -0.3186589
243                                         -0.4236605                                         -0.3186589
244                                         -0.4236605                                         -0.3186589
247                                         -0.4236605                                         -0.3186589
248                                         -0.4236605                                         -0.3186589

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
Pnetfig<-ggplot(phys, aes(y=Pmax, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
Pnetfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
Pnetfig2<-ggplot(phys, aes(y=Pmax, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(limits=as.Date(c("2020-08-01","2022-03-15")),date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
Pnetfig2

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
pnet_stress_fig<-ggplot(phys_stress, aes(y=Pmax, x=Months, color=Bleach, fill=Bleach))+ 
 geom_point(data=phys_stress,aes(y=Pmax, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=Pmax, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
pnet_stress_fig

library(Rmisc)
Pnet_sum<-summarySE(phys, measurevar='Pmax', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
Pnet_sum
Pnetfig_3<-ggplot(Pnet_sum, aes(y=Pmax, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=Pnet_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "Pnet", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=Pmax-se, ymax=Pmax+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Gross~photosynthesis~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})), limits=c(0,4))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
Pnetfig_3

##LEDR ###Normality

hist(phys$R)

LEDR.lm<- lm(R~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(LEDR.lm, ask=FALSE, which=1:6)

###Stats

LEDR.lme <- lme(R~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(LEDR.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, Months12, Months17, Months20, SpeciesPorites compressa:Months10, SpeciesPorites compressa:Months12, SpeciesPorites compressa:Months17, SpeciesPorites compressa:Months20, BleachNon-bleach:Months10, BleachNon-bleach:Months12, BleachNon-bleach:Months17, BleachNon-bleach:Months20, SpeciesPorites compressa:BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months12, SpeciesPorites compressa:BleachNon-bleach:Months17, SpeciesPorites compressa:BleachNon-bleach:Months20Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: R
                        Chisq Df Pr(>Chisq)    
(Intercept)           30.5103  1  3.321e-08 ***
Species                3.3466  1    0.06734 .  
Bleach                 2.4318  1    0.11890    
Months                 1.3807  3    0.71007    
Species:Bleach         0.6855  1    0.40770    
Species:Months         8.0380  3    0.04523 *  
Bleach:Months          2.8014  3    0.42326    
Species:Bleach:Months  5.4296  3    0.14291    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(LEDR.lme, list(pairwise ~ Species:Months), adjust = "tukey", simple="Species")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Months`
 Species            Months emmean     SE df lower.CL upper.CL
 Montipora capitata 0      -0.550 0.0587 45   -0.668   -0.431
 Porites compressa  0      -0.831 0.0585 44   -0.949   -0.713
 Montipora capitata 24     -0.399 0.0616 45   -0.523   -0.275
 Porites compressa  24     -0.851 0.0692 44   -0.990   -0.711
 Montipora capitata 29     -0.420 0.0616 45   -0.544   -0.296
 Porites compressa  29     -0.893 0.0692 44   -1.033   -0.754
 Montipora capitata 35     -0.543 0.0587 45   -0.661   -0.425
 Porites compressa  35     -0.831 0.0585 44   -0.949   -0.713

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Months | Months`
Months = 0:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa    0.282 0.0829 44   3.399  0.0014

Months = 24:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa    0.452 0.0927 44   4.871  <.0001

Months = 29:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa    0.473 0.0927 44   5.102  <.0001

Months = 35:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa    0.288 0.0829 44   3.475  0.0012

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
summary(LEDR.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)  Residual
StdDev:   0.1271718 0.2301499

Fixed effects: R ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M24 SPc:M29 SPc:M3 BN-:M24 BN-:M29
SpeciesPorites compressa                           -0.711                                                                                   
BleachNon-bleach                                   -0.707  0.502                                                                            
Months24                                           -0.601  0.427  0.425                                                                     
Months29                                           -0.601  0.427  0.425  0.480                                                              
Months35                                           -0.628  0.446  0.444  0.489  0.489                                                       
SpeciesPorites compressa:BleachNon-bleach           0.504 -0.704 -0.713 -0.303 -0.303 -0.317                                                
SpeciesPorites compressa:Months24                   0.405 -0.584 -0.286 -0.674 -0.324 -0.330  0.420                                         
SpeciesPorites compressa:Months29                   0.405 -0.584 -0.286 -0.324 -0.674 -0.330  0.420    0.460                                
SpeciesPorites compressa:Months35                   0.441 -0.635 -0.312 -0.344 -0.344 -0.703  0.451    0.469   0.469                        
BleachNon-bleach:Months24                           0.425 -0.302 -0.601 -0.707 -0.339 -0.346  0.428    0.477   0.229   0.243                
BleachNon-bleach:Months29                           0.425 -0.302 -0.601 -0.339 -0.707 -0.346  0.428    0.229   0.477   0.243  0.480         
BleachNon-bleach:Months35                           0.444 -0.315 -0.628 -0.346 -0.346 -0.707  0.448    0.233   0.233   0.497  0.489   0.489 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.285  0.416  0.403  0.474  0.228  0.232 -0.591   -0.711  -0.331  -0.330 -0.671  -0.322 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.285  0.416  0.403  0.228  0.474  0.232 -0.591   -0.331  -0.711  -0.330 -0.322  -0.671 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.312  0.449  0.441  0.243  0.243  0.497 -0.637   -0.332  -0.332  -0.707 -0.344  -0.344 
                                                   BN-:M3 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                         
BleachNon-bleach                                                                 
Months24                                                                         
Months29                                                                         
Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach                                        
SpeciesPorites compressa:Months24                                                
SpeciesPorites compressa:Months29                                                
SpeciesPorites compressa:Months35                                                
BleachNon-bleach:Months24                                                        
BleachNon-bleach:Months29                                                        
BleachNon-bleach:Months35                                                        
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.328                        
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.328  0.465                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.703  0.467       0.467     

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-2.583751417 -0.370110920 -0.003151921  0.520709248  2.451005709 

Number of Observations: 144
Number of Groups: 46 
r.squaredGLMM(LEDR.lme)
           R2m       R2c
[1,] 0.4073081 0.5459426

####Coefficients

coef(LEDR.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months24   Months29  Months35 SpeciesPorites compressa:BleachNon-bleach
3    -0.4664579               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
4    -0.5075512               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
11   -0.5154915               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
12   -0.4352650               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
19   -0.4912221               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
20   -0.4386677               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
26   -0.2810275               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
27   -0.5503831               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
35   -0.4059624               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
36   -0.3666854               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
41   -0.4021131               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
42   -0.2687893               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
43   -0.4771389               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
44   -0.4143611               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
45   -0.4286228               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
46   -0.5101641               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
201  -0.4272415               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
202  -0.5505554               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
203  -0.4428208               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
204  -0.4656099               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
209  -0.3767881               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
210  -0.4338141               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
211  -0.4258001               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
212  -0.4596166               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
213  -0.4945142               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
214  -0.4753819               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
217  -0.4891664               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
218  -0.4435274               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
219  -0.4488075               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
220  -0.4111539               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
221  -0.4614930               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
222  -0.4186600               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
225  -0.4536918               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
226  -0.4136937               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
229  -0.5580496               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
230  -0.4730123               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
235  -0.5477629               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
236  -0.4833550               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
237  -0.5049127               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
238  -0.5776921               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
239  -0.3525914               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
240  -0.7342246               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
243  -0.4167589               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
244  -0.6447028               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
247  -0.3445995               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
248  -0.3856392               -0.2135541       -0.1829263 0.1239964 0.04817312 0.0482568                                -0.1361523
    SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29 SpeciesPorites compressa:Months35 BleachNon-bleach:Months24
3                          -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
4                          -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
11                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
12                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
19                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
20                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
26                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
27                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
35                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
36                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
41                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
42                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
43                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
44                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
45                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
46                         -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
201                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
202                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
203                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
204                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
209                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
210                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
211                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
212                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
213                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
214                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
217                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
218                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
219                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
220                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
221                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
222                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
225                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
226                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
229                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
230                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
235                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
236                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
237                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
238                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
239                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
240                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
243                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
244                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
247                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
248                        -0.4213275                        -0.2455119                       -0.09223455                 0.0526974
    BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months24
3                   0.1624192               -0.08355351                                          0.5028243
4                   0.1624192               -0.08355351                                          0.5028243
11                  0.1624192               -0.08355351                                          0.5028243
12                  0.1624192               -0.08355351                                          0.5028243
19                  0.1624192               -0.08355351                                          0.5028243
20                  0.1624192               -0.08355351                                          0.5028243
26                  0.1624192               -0.08355351                                          0.5028243
27                  0.1624192               -0.08355351                                          0.5028243
35                  0.1624192               -0.08355351                                          0.5028243
36                  0.1624192               -0.08355351                                          0.5028243
41                  0.1624192               -0.08355351                                          0.5028243
42                  0.1624192               -0.08355351                                          0.5028243
43                  0.1624192               -0.08355351                                          0.5028243
44                  0.1624192               -0.08355351                                          0.5028243
45                  0.1624192               -0.08355351                                          0.5028243
46                  0.1624192               -0.08355351                                          0.5028243
201                 0.1624192               -0.08355351                                          0.5028243
202                 0.1624192               -0.08355351                                          0.5028243
203                 0.1624192               -0.08355351                                          0.5028243
204                 0.1624192               -0.08355351                                          0.5028243
209                 0.1624192               -0.08355351                                          0.5028243
210                 0.1624192               -0.08355351                                          0.5028243
211                 0.1624192               -0.08355351                                          0.5028243
212                 0.1624192               -0.08355351                                          0.5028243
213                 0.1624192               -0.08355351                                          0.5028243
214                 0.1624192               -0.08355351                                          0.5028243
217                 0.1624192               -0.08355351                                          0.5028243
218                 0.1624192               -0.08355351                                          0.5028243
219                 0.1624192               -0.08355351                                          0.5028243
220                 0.1624192               -0.08355351                                          0.5028243
221                 0.1624192               -0.08355351                                          0.5028243
222                 0.1624192               -0.08355351                                          0.5028243
225                 0.1624192               -0.08355351                                          0.5028243
226                 0.1624192               -0.08355351                                          0.5028243
229                 0.1624192               -0.08355351                                          0.5028243
230                 0.1624192               -0.08355351                                          0.5028243
235                 0.1624192               -0.08355351                                          0.5028243
236                 0.1624192               -0.08355351                                          0.5028243
237                 0.1624192               -0.08355351                                          0.5028243
238                 0.1624192               -0.08355351                                          0.5028243
239                 0.1624192               -0.08355351                                          0.5028243
240                 0.1624192               -0.08355351                                          0.5028243
243                 0.1624192               -0.08355351                                          0.5028243
244                 0.1624192               -0.08355351                                          0.5028243
247                 0.1624192               -0.08355351                                          0.5028243
248                 0.1624192               -0.08355351                                          0.5028243
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                            0.1082819                                          0.1717485
4                                            0.1082819                                          0.1717485
11                                           0.1082819                                          0.1717485
12                                           0.1082819                                          0.1717485
19                                           0.1082819                                          0.1717485
20                                           0.1082819                                          0.1717485
26                                           0.1082819                                          0.1717485
27                                           0.1082819                                          0.1717485
35                                           0.1082819                                          0.1717485
36                                           0.1082819                                          0.1717485
41                                           0.1082819                                          0.1717485
42                                           0.1082819                                          0.1717485
43                                           0.1082819                                          0.1717485
44                                           0.1082819                                          0.1717485
45                                           0.1082819                                          0.1717485
46                                           0.1082819                                          0.1717485
201                                          0.1082819                                          0.1717485
202                                          0.1082819                                          0.1717485
203                                          0.1082819                                          0.1717485
204                                          0.1082819                                          0.1717485
209                                          0.1082819                                          0.1717485
210                                          0.1082819                                          0.1717485
211                                          0.1082819                                          0.1717485
212                                          0.1082819                                          0.1717485
213                                          0.1082819                                          0.1717485
214                                          0.1082819                                          0.1717485
217                                          0.1082819                                          0.1717485
218                                          0.1082819                                          0.1717485
219                                          0.1082819                                          0.1717485
220                                          0.1082819                                          0.1717485
221                                          0.1082819                                          0.1717485
222                                          0.1082819                                          0.1717485
225                                          0.1082819                                          0.1717485
226                                          0.1082819                                          0.1717485
229                                          0.1082819                                          0.1717485
230                                          0.1082819                                          0.1717485
235                                          0.1082819                                          0.1717485
236                                          0.1082819                                          0.1717485
237                                          0.1082819                                          0.1717485
238                                          0.1082819                                          0.1717485
239                                          0.1082819                                          0.1717485
240                                          0.1082819                                          0.1717485
243                                          0.1082819                                          0.1717485
244                                          0.1082819                                          0.1717485
247                                          0.1082819                                          0.1717485
248                                          0.1082819                                          0.1717485

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
LEDRfig<-ggplot(phys, aes(y=R, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
LEDRfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
LEDRfig2<-ggplot(phys, aes(y=R, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(limits=as.Date(c("2020-08-01","2022-03-15")),date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
LEDRfig2

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
LEDR_stress_fig<-ggplot(phys_stress, aes(y=R, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=R, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=R, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
LEDR_stress_fig

library(Rmisc)
LEDR_sum<-summarySE(phys, measurevar='R', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
LEDR_sum
LEDRfig_3<-ggplot(LEDR_sum, aes(y=abs(R), x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=LEDR_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "LEDR", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=abs(R)-se, ymax=abs(R)+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Respiration~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})))+
  #geom_hline(yintercept = 0, size=0.75, color = "black") + 
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
LEDRfig_3

##alpha ###Normality

hist(phys$alpha)

alpha.lm<- lm(alpha~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(alpha.lm, ask=FALSE, which=1:6)

###Stats

alpha.lme <- lme(alpha~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(alpha.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, Months12, Months17, Months20, SpeciesPorites compressa:Months10, SpeciesPorites compressa:Months12, SpeciesPorites compressa:Months17, SpeciesPorites compressa:Months20, BleachNon-bleach:Months10, BleachNon-bleach:Months12, BleachNon-bleach:Months17, BleachNon-bleach:Months20, SpeciesPorites compressa:BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months12, SpeciesPorites compressa:BleachNon-bleach:Months17, SpeciesPorites compressa:BleachNon-bleach:Months20Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: alpha
                        Chisq Df Pr(>Chisq)    
(Intercept)           25.0011  1   5.73e-07 ***
Species                0.6978  1     0.4035    
Bleach                 0.6243  1     0.4294    
Months                 4.2753  3     0.2332    
Species:Bleach         1.7942  1     0.1804    
Species:Months         4.3744  3     0.2238    
Bleach:Months          0.8392  3     0.8401    
Species:Bleach:Months  6.1724  3     0.1035    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(alpha.lme, list(pairwise ~ Months), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Months`
 Months  emmean       SE df lower.CL upper.CL
 0      0.00566 0.000415 44  0.00482  0.00650
 24     0.00331 0.000462 44  0.00238  0.00424
 29     0.00649 0.000462 44  0.00556  0.00742
 35     0.00561 0.000415 44  0.00477  0.00644

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Months`
 1                    estimate       SE df t.ratio p.value
 Months0 - Months24   2.35e-03 0.000527 84   4.453  0.0002
 Months0 - Months29  -8.28e-04 0.000527 84  -1.572  0.3999
 Months0 - Months35   5.24e-05 0.000498 84   0.105  0.9996
 Months24 - Months29 -3.17e-03 0.000548 84  -5.795  <.0001
 Months24 - Months35 -2.29e-03 0.000527 84  -4.353  0.0002
 Months29 - Months35  8.81e-04 0.000527 84   1.672  0.3449

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 4 estimates 

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
alphafig<-ggplot(phys, aes(y=alpha, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
alphafig

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
alphafig2<-ggplot(phys, aes(y=alpha, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(limits=as.Date(c("2020-08-01","2022-03-15")),date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
alphafig2

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
alpha_stress_fig<-ggplot(phys_stress, aes(y=alpha, x=Months, color=Bleach, fill=Bleach))+ 
  #geom_point(alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  geom_boxplot(alpha=0.6,  outlier.shape = NA)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
alpha_stress_fig

##P:R ###Normality

hist(phys$PR)

PR.lm<- lm(PR~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(PR.lm, ask=FALSE, which=1:6)

###Stats

PR.lme <- lme(PR~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(PR.lme, type=3)
Warning: The following coefficients are not in the model due to missing levels:
Months10, Months12, Months17, Months20, SpeciesPorites compressa:Months10, SpeciesPorites compressa:Months12, SpeciesPorites compressa:Months17, SpeciesPorites compressa:Months20, BleachNon-bleach:Months10, BleachNon-bleach:Months12, BleachNon-bleach:Months17, BleachNon-bleach:Months20, SpeciesPorites compressa:BleachNon-bleach:Months10, SpeciesPorites compressa:BleachNon-bleach:Months12, SpeciesPorites compressa:BleachNon-bleach:Months17, SpeciesPorites compressa:BleachNon-bleach:Months20Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: PR
                         Chisq Df Pr(>Chisq)    
(Intercept)           143.5030  1    < 2e-16 ***
Species                 0.4413  1    0.50651    
Bleach                  4.1415  1    0.04184 *  
Months                  1.0204  3    0.79632    
Species:Bleach          0.5789  1    0.44675    
Species:Months          2.5281  3    0.47024    
Bleach:Months           5.6824  3    0.12812    
Species:Bleach:Months   1.2713  3    0.73596    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(PR.lme, list(pairwise ~ Bleach ), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Bleach`
 Bleach     emmean    SE df lower.CL upper.CL
 Bleach       4.68 0.178 44     4.32     5.04
 Non-bleach   4.29 0.179 44     3.93     4.65

Results are averaged over the levels of: Species, Months 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Bleach`
 1                     estimate   SE df t.ratio p.value
 Bleach - (Non-bleach)    0.384 0.25 81   1.535  0.1287

Results are averaged over the levels of: Species, Months 
Degrees-of-freedom method: containment 
summary(PR.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept) Residual
StdDev:   0.4681967 1.210518

Fixed effects: PR ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M24 SPc:M29 SPc:M3 BN-:M24 BN-:M29
SpeciesPorites compressa                           -0.708                                                                                   
BleachNon-bleach                                   -0.707  0.501                                                                            
Months24                                           -0.618  0.438  0.437                                                                     
Months29                                           -0.640  0.453  0.453  0.461                                                              
Months35                                           -0.664  0.470  0.470  0.471  0.488                                                       
SpeciesPorites compressa:BleachNon-bleach           0.495 -0.697 -0.700 -0.306 -0.317 -0.329                                                
SpeciesPorites compressa:Months24                   0.427 -0.609 -0.302 -0.690 -0.318 -0.325  0.429                                         
SpeciesPorites compressa:Months29                   0.434 -0.619 -0.307 -0.312 -0.677 -0.331  0.436    0.445                                
SpeciesPorites compressa:Months35                   0.468 -0.668 -0.331 -0.332 -0.344 -0.705  0.466    0.461   0.469                        
BleachNon-bleach:Months24                           0.445 -0.315 -0.629 -0.719 -0.332 -0.339  0.440    0.496   0.224   0.239                
BleachNon-bleach:Months29                           0.453 -0.321 -0.640 -0.326 -0.707 -0.345  0.448    0.225   0.479   0.243  0.469         
BleachNon-bleach:Months35                           0.470 -0.333 -0.664 -0.333 -0.345 -0.707  0.465    0.230   0.234   0.498  0.480   0.488 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.301  0.433  0.425  0.486  0.224  0.229 -0.625   -0.710  -0.319  -0.325 -0.676  -0.317 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.303  0.436  0.429  0.218  0.474  0.231 -0.630   -0.316  -0.704  -0.328 -0.314  -0.670 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.326  0.465  0.462  0.232  0.240  0.491 -0.669   -0.322  -0.327  -0.697 -0.333  -0.339 
                                                   BN-:M3 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                         
BleachNon-bleach                                                                 
Months24                                                                         
Months29                                                                         
Months35                                                                         
SpeciesPorites compressa:BleachNon-bleach                                        
SpeciesPorites compressa:Months24                                                
SpeciesPorites compressa:Months29                                                
SpeciesPorites compressa:Months35                                                
BleachNon-bleach:Months24                                                        
BleachNon-bleach:Months29                                                        
BleachNon-bleach:Months35                                                        
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.324                        
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.327  0.460                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.695  0.467       0.471     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-1.47685905 -0.57725141 -0.04417195  0.29168988  4.75280716 

Number of Observations: 141
Number of Groups: 46 
r.squaredGLMM(PR.lme)
           R2m       R2c
[1,] 0.1881412 0.2937866

####Coefficients

coef(protein.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months10   Months12   Months17  Months20  Months24 Months29  Months35
3     0.1759040                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
4     0.2218443                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
11    0.1824086                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
12    0.1432800                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
19    0.1650566                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
20    0.1370136                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
26    0.1585332                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
27    0.1552725                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
35    0.1759826                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
36    0.1632939                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
41    0.2291232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
42    0.1574232                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
43    0.1611075                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
44    0.1136417                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
45    0.2021523                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
46    0.1381121                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
201   0.1377209                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
202   0.1370790                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
203   0.1878345                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
204   0.1747205                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
209   0.1539102                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
210   0.1453911                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
211   0.1763872                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
212   0.2245608                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
213   0.1717698                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
214   0.1646707                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
217   0.1835225                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
218   0.1927358                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
219   0.1975645                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
220   0.1905783                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
221   0.1721688                0.1232805      -0.01530227 0.1444644 0.07799421 0.03415552 0.1129223 0.1332215 0.218622 0.2860489
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                 -0.02228106                       -0.03772763                       -0.02605817
4                                 -0.02228106                       -0.03772763                       -0.02605817
11                                -0.02228106                       -0.03772763                       -0.02605817
12                                -0.02228106                       -0.03772763                       -0.02605817
19                                -0.02228106                       -0.03772763                       -0.02605817
20                                -0.02228106                       -0.03772763                       -0.02605817
26                                -0.02228106                       -0.03772763                       -0.02605817
27                                -0.02228106                       -0.03772763                       -0.02605817
35                                -0.02228106                       -0.03772763                       -0.02605817
36                                -0.02228106                       -0.03772763                       -0.02605817
41                                -0.02228106                       -0.03772763                       -0.02605817
42                                -0.02228106                       -0.03772763                       -0.02605817
43                                -0.02228106                       -0.03772763                       -0.02605817
44                                -0.02228106                       -0.03772763                       -0.02605817
45                                -0.02228106                       -0.03772763                       -0.02605817
46                                -0.02228106                       -0.03772763                       -0.02605817
201                               -0.02228106                       -0.03772763                       -0.02605817
202                               -0.02228106                       -0.03772763                       -0.02605817
203                               -0.02228106                       -0.03772763                       -0.02605817
204                               -0.02228106                       -0.03772763                       -0.02605817
209                               -0.02228106                       -0.03772763                       -0.02605817
210                               -0.02228106                       -0.03772763                       -0.02605817
211                               -0.02228106                       -0.03772763                       -0.02605817
212                               -0.02228106                       -0.03772763                       -0.02605817
213                               -0.02228106                       -0.03772763                       -0.02605817
214                               -0.02228106                       -0.03772763                       -0.02605817
217                               -0.02228106                       -0.03772763                       -0.02605817
218                               -0.02228106                       -0.03772763                       -0.02605817
219                               -0.02228106                       -0.03772763                       -0.02605817
220                               -0.02228106                       -0.03772763                       -0.02605817
221                               -0.02228106                       -0.03772763                       -0.02605817
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                           0.1174555                         0.0586134                         0.0903154                        0.04990827
4                           0.1174555                         0.0586134                         0.0903154                        0.04990827
11                          0.1174555                         0.0586134                         0.0903154                        0.04990827
12                          0.1174555                         0.0586134                         0.0903154                        0.04990827
19                          0.1174555                         0.0586134                         0.0903154                        0.04990827
20                          0.1174555                         0.0586134                         0.0903154                        0.04990827
26                          0.1174555                         0.0586134                         0.0903154                        0.04990827
27                          0.1174555                         0.0586134                         0.0903154                        0.04990827
35                          0.1174555                         0.0586134                         0.0903154                        0.04990827
36                          0.1174555                         0.0586134                         0.0903154                        0.04990827
41                          0.1174555                         0.0586134                         0.0903154                        0.04990827
42                          0.1174555                         0.0586134                         0.0903154                        0.04990827
43                          0.1174555                         0.0586134                         0.0903154                        0.04990827
44                          0.1174555                         0.0586134                         0.0903154                        0.04990827
45                          0.1174555                         0.0586134                         0.0903154                        0.04990827
46                          0.1174555                         0.0586134                         0.0903154                        0.04990827
201                         0.1174555                         0.0586134                         0.0903154                        0.04990827
202                         0.1174555                         0.0586134                         0.0903154                        0.04990827
203                         0.1174555                         0.0586134                         0.0903154                        0.04990827
204                         0.1174555                         0.0586134                         0.0903154                        0.04990827
209                         0.1174555                         0.0586134                         0.0903154                        0.04990827
210                         0.1174555                         0.0586134                         0.0903154                        0.04990827
211                         0.1174555                         0.0586134                         0.0903154                        0.04990827
212                         0.1174555                         0.0586134                         0.0903154                        0.04990827
213                         0.1174555                         0.0586134                         0.0903154                        0.04990827
214                         0.1174555                         0.0586134                         0.0903154                        0.04990827
217                         0.1174555                         0.0586134                         0.0903154                        0.04990827
218                         0.1174555                         0.0586134                         0.0903154                        0.04990827
219                         0.1174555                         0.0586134                         0.0903154                        0.04990827
220                         0.1174555                         0.0586134                         0.0903154                        0.04990827
221                         0.1174555                         0.0586134                         0.0903154                        0.04990827
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
4                          -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
11                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
12                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
19                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
20                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
26                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
27                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
35                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
36                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
41                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
42                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
43                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
44                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
45                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
46                         -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
201                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
202                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
203                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
204                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
209                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
210                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
211                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
212                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
213                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
214                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
217                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
218                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
219                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
220                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
221                        -0.1745044               -0.02197116                0.04277125                 0.1121015                0.05080975
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                  0.08454026                0.05176502                0.03536143                                        -0.02947219
4                  0.08454026                0.05176502                0.03536143                                        -0.02947219
11                 0.08454026                0.05176502                0.03536143                                        -0.02947219
12                 0.08454026                0.05176502                0.03536143                                        -0.02947219
19                 0.08454026                0.05176502                0.03536143                                        -0.02947219
20                 0.08454026                0.05176502                0.03536143                                        -0.02947219
26                 0.08454026                0.05176502                0.03536143                                        -0.02947219
27                 0.08454026                0.05176502                0.03536143                                        -0.02947219
35                 0.08454026                0.05176502                0.03536143                                        -0.02947219
36                 0.08454026                0.05176502                0.03536143                                        -0.02947219
41                 0.08454026                0.05176502                0.03536143                                        -0.02947219
42                 0.08454026                0.05176502                0.03536143                                        -0.02947219
43                 0.08454026                0.05176502                0.03536143                                        -0.02947219
44                 0.08454026                0.05176502                0.03536143                                        -0.02947219
45                 0.08454026                0.05176502                0.03536143                                        -0.02947219
46                 0.08454026                0.05176502                0.03536143                                        -0.02947219
201                0.08454026                0.05176502                0.03536143                                        -0.02947219
202                0.08454026                0.05176502                0.03536143                                        -0.02947219
203                0.08454026                0.05176502                0.03536143                                        -0.02947219
204                0.08454026                0.05176502                0.03536143                                        -0.02947219
209                0.08454026                0.05176502                0.03536143                                        -0.02947219
210                0.08454026                0.05176502                0.03536143                                        -0.02947219
211                0.08454026                0.05176502                0.03536143                                        -0.02947219
212                0.08454026                0.05176502                0.03536143                                        -0.02947219
213                0.08454026                0.05176502                0.03536143                                        -0.02947219
214                0.08454026                0.05176502                0.03536143                                        -0.02947219
217                0.08454026                0.05176502                0.03536143                                        -0.02947219
218                0.08454026                0.05176502                0.03536143                                        -0.02947219
219                0.08454026                0.05176502                0.03536143                                        -0.02947219
220                0.08454026                0.05176502                0.03536143                                        -0.02947219
221                0.08454026                0.05176502                0.03536143                                        -0.02947219
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                           0.07407306                                         0.07902784
4                                           0.07407306                                         0.07902784
11                                          0.07407306                                         0.07902784
12                                          0.07407306                                         0.07902784
19                                          0.07407306                                         0.07902784
20                                          0.07407306                                         0.07902784
26                                          0.07407306                                         0.07902784
27                                          0.07407306                                         0.07902784
35                                          0.07407306                                         0.07902784
36                                          0.07407306                                         0.07902784
41                                          0.07407306                                         0.07902784
42                                          0.07407306                                         0.07902784
43                                          0.07407306                                         0.07902784
44                                          0.07407306                                         0.07902784
45                                          0.07407306                                         0.07902784
46                                          0.07407306                                         0.07902784
201                                         0.07407306                                         0.07902784
202                                         0.07407306                                         0.07902784
203                                         0.07407306                                         0.07902784
204                                         0.07407306                                         0.07902784
209                                         0.07407306                                         0.07902784
210                                         0.07407306                                         0.07902784
211                                         0.07407306                                         0.07902784
212                                         0.07407306                                         0.07902784
213                                         0.07407306                                         0.07902784
214                                         0.07407306                                         0.07902784
217                                         0.07407306                                         0.07902784
218                                         0.07407306                                         0.07902784
219                                         0.07407306                                         0.07902784
220                                         0.07407306                                         0.07902784
221                                         0.07407306                                         0.07902784
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                           0.04188296                                        -0.04538026
4                                           0.04188296                                        -0.04538026
11                                          0.04188296                                        -0.04538026
12                                          0.04188296                                        -0.04538026
19                                          0.04188296                                        -0.04538026
20                                          0.04188296                                        -0.04538026
26                                          0.04188296                                        -0.04538026
27                                          0.04188296                                        -0.04538026
35                                          0.04188296                                        -0.04538026
36                                          0.04188296                                        -0.04538026
41                                          0.04188296                                        -0.04538026
42                                          0.04188296                                        -0.04538026
43                                          0.04188296                                        -0.04538026
44                                          0.04188296                                        -0.04538026
45                                          0.04188296                                        -0.04538026
46                                          0.04188296                                        -0.04538026
201                                         0.04188296                                        -0.04538026
202                                         0.04188296                                        -0.04538026
203                                         0.04188296                                        -0.04538026
204                                         0.04188296                                        -0.04538026
209                                         0.04188296                                        -0.04538026
210                                         0.04188296                                        -0.04538026
211                                         0.04188296                                        -0.04538026
212                                         0.04188296                                        -0.04538026
213                                         0.04188296                                        -0.04538026
214                                         0.04188296                                        -0.04538026
217                                         0.04188296                                        -0.04538026
218                                         0.04188296                                        -0.04538026
219                                         0.04188296                                        -0.04538026
220                                         0.04188296                                        -0.04538026
221                                         0.04188296                                        -0.04538026
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           -0.1263666                                         0.07181537
4                                           -0.1263666                                         0.07181537
11                                          -0.1263666                                         0.07181537
12                                          -0.1263666                                         0.07181537
19                                          -0.1263666                                         0.07181537
20                                          -0.1263666                                         0.07181537
26                                          -0.1263666                                         0.07181537
27                                          -0.1263666                                         0.07181537
35                                          -0.1263666                                         0.07181537
36                                          -0.1263666                                         0.07181537
41                                          -0.1263666                                         0.07181537
42                                          -0.1263666                                         0.07181537
43                                          -0.1263666                                         0.07181537
44                                          -0.1263666                                         0.07181537
45                                          -0.1263666                                         0.07181537
46                                          -0.1263666                                         0.07181537
201                                         -0.1263666                                         0.07181537
202                                         -0.1263666                                         0.07181537
203                                         -0.1263666                                         0.07181537
204                                         -0.1263666                                         0.07181537
209                                         -0.1263666                                         0.07181537
210                                         -0.1263666                                         0.07181537
211                                         -0.1263666                                         0.07181537
212                                         -0.1263666                                         0.07181537
213                                         -0.1263666                                         0.07181537
214                                         -0.1263666                                         0.07181537
217                                         -0.1263666                                         0.07181537
218                                         -0.1263666                                         0.07181537
219                                         -0.1263666                                         0.07181537
220                                         -0.1263666                                         0.07181537
221                                         -0.1263666                                         0.07181537
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
prfig2<-ggplot(phys, aes(y=PR, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(limits=as.Date(c("2020-08-01","2022-03-15")),date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
prfig2

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
prfig<-ggplot(phys, aes(y=PR, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
prfig

library(Rmisc)
PR_sum<-summarySE(phys, measurevar='PR', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
PR_sum
PRfig_3<-ggplot(PR_sum, aes(y=PR, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=PR_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "PR", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=PR-se, ymax=PR+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
  scale_y_continuous(expression(Photosynthesis:Respiration), limits=c(0,7))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
PRfig_3

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PR_stress_fig<-ggplot(phys_stress, aes(y=PR, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=PR, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=PR, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(PPO~activity~(Delta~Abs~490~nm~'\U2219'~mg~protein^{-1}~'\U2219'~min^{-1})), limits=c(-0.1,1.75))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PR_stress_fig

library(cowplot)
respall<-cowplot::plot_grid(Pnetfig,LEDRfig, nrow=3,ncol=1, align="h", axis = "bt")
Warning: Removed 174 rows containing non-finite values (stat_smooth).Warning: Removed 174 rows containing missing values (geom_point).Warning: Removed 172 rows containing non-finite values (stat_smooth).Warning: Removed 172 rows containing missing values (geom_point).
respall

##PI curves

PIOct19<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Oct 2019 PI curve_Teegan.csv", stringsAsFactors=FALSE, fileEncoding="latin1")
PIOct19$rad<-as.numeric(PIOct19$rad)
PIOct19

###Figure - Oct19

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfig_Oct19<-ggplot(PIOct19, aes(y=umol.O2.L.hr, x=rad, color=Phenotype, fill=Phenotype))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})), limits=c(-2,3))+
  geom_hline(yintercept = 0, linetype = 1, alpha = 0.8, color = "black") + 
  scale_fill_manual("Phenotype", values=c("Susceptible"= '#DFD3B9',"Resistant"='#796334'))+ #Manually choose the colors
  scale_color_manual("Phenotype", values=c("Susceptible"= '#DFD3B9',"Resistant"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfig_Oct19

PIOct<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/2021.10.10_KBaypairs_respirometry/Raw_KTB.csv", stringsAsFactors=FALSE, fileEncoding="latin1")
PIOct$rad<-as.numeric(PIOct$rad)
PIOct

###Figure - Oct21

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfig<-ggplot(PIOct, aes(y=umol.O2.L.hr, x=rad, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}), limits=c(0,1682))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})), limits=c(-2,3))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  geom_hline(yintercept = 0, linetype = 1, alpha = 0.8, color = "black") + 
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfig2<-ggplot(PIOct, aes(y=umol.O2.L.hr, x=rad, color=Bleach, fill=Bleach))+ 
  geom_path()+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfig2

PIMar<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/March 2022 Respirometry/March22_KTB2.csv", stringsAsFactors=FALSE, fileEncoding="latin1")
PIMar$rad<-as.numeric(PIMar$rad)
PIMar

###Figure - Mar22

#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfigmarch<-ggplot(PIMar, aes(y=umol.O2.L.hr, x=rad, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}), limits=c(0,1682))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})), limits=c(-2,3))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  geom_hline(yintercept = 0, linetype = 1, alpha = 0.8, color = "black") + 
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfigmarch

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfig2<-ggplot(PIMar, aes(y=umol.O2.L.hr, x=rad, color=Bleach, fill=Bleach))+ 
  geom_path()+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfig2

PISept<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Sept 2022 Respirometry/Sept2022_slopes_raw.csv", stringsAsFactors=FALSE, fileEncoding="latin1")
PISept$rad<-as.numeric(PISept$rad)
PISept$umol.O2.L.hr.cm2<-as.numeric(PISept$umol.O2.L.hr.cm2)
Warning: NAs introduced by coercion
PISept

###Figure - Sept22

#phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
PIfig3<-ggplot(PISept, aes(y=umol.O2.L.hr.cm2, x=rad, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_continuous(Irradiance~(mu~mol~'\U2219'~m^{-2}~'\U2219'~s^{-1}), limits=c(0,1682))+ 
  scale_y_continuous(expression(Oxygen~evolution~(mu~mol~'\U2219'~h^{-1}~'\U2219'~cm^{-2})),limits=c(-2,3))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  geom_hline(yintercept = 0, linetype = 1, alpha = 0.8, color = "black") + 
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
PIfig3

library(cowplot)
curves<-cowplot::plot_grid(PIfig_Oct19,PIfig,PIfigmarch, PIfig3, nrow=2,ncol=2, align="h", axis = "bt")
Warning: Removed 32 rows containing non-finite values (stat_smooth).Warning: Removed 32 rows containing missing values (geom_point).Warning: Removed 9 rows containing non-finite values (stat_smooth).Warning: Removed 9 rows containing missing values (geom_point).
curves

##CaCO3 density ###Normality

hist(phys$CaCO3.Density_g.mL.1)

density.lm<- lm(CaCO3.Density_g.mL.1~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(density.lm, ask=FALSE, which=1:6)

###Stats

density.lme <- lme(CaCO3.Density_g.mL.1~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(density.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: CaCO3.Density_g.mL.1
                         Chisq Df Pr(>Chisq)    
(Intercept)           354.0711  1  < 2.2e-16 ***
Species                 0.0576  1    0.81041    
Bleach                  0.3358  1    0.56225    
Months                113.0932  7  < 2.2e-16 ***
Species:Bleach          0.0075  1    0.93113    
Species:Months         31.5586  7  4.903e-05 ***
Bleach:Months          14.1553  7    0.04849 *  
Species:Bleach:Months  14.1197  7    0.04909 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(density.lme, list(pairwise ~ Species:Bleach:Months), adjust = "tukey", simple="Months")
tukey3
$`emmeans of Species, Bleach, Months`
 Species            Bleach     Months emmean     SE df lower.CL upper.CL
 Montipora capitata Bleach     0        1.38 0.0733 43     1.23     1.53
 Porites compressa  Bleach     0        1.40 0.0722 42     1.26     1.55
 Montipora capitata Non-bleach 0        1.44 0.0733 43     1.29     1.59
 Porites compressa  Non-bleach 0        1.48 0.0725 42     1.33     1.62
 Montipora capitata Bleach     10       2.14 0.0856 43     1.96     2.31
 Porites compressa  Bleach     10       1.56 0.0800 42     1.40     1.73
 Montipora capitata Non-bleach 10       1.93 0.0767 43     1.77     2.08
 Porites compressa  Non-bleach 10       1.71 0.0755 42     1.55     1.86
 Montipora capitata Bleach     12       2.14 0.0733 43     1.99     2.29
 Porites compressa  Bleach     12       1.64 0.0758 42     1.49     1.79
 Montipora capitata Non-bleach 12       2.17 0.0733 43     2.02     2.32
 Porites compressa  Non-bleach 12       1.49 0.0761 42     1.34     1.65
 Montipora capitata Bleach     17       2.11 0.0733 43     1.96     2.26
 Porites compressa  Bleach     17       1.70 0.0800 42     1.54     1.86
 Montipora capitata Non-bleach 17       2.14 0.0733 43     1.99     2.28
 Porites compressa  Non-bleach 17       1.65 0.0722 42     1.50     1.79
 Montipora capitata Bleach     20       1.93 0.0767 43     1.77     2.08
 Porites compressa  Bleach     20       1.64 0.0758 42     1.49     1.79
 Montipora capitata Non-bleach 20       2.06 0.0733 43     1.91     2.21
 Porites compressa  Non-bleach 20       1.59 0.0761 42     1.43     1.74
 Montipora capitata Bleach     24       2.06 0.0768 43     1.91     2.22
 Porites compressa  Bleach     24       1.54 0.0841 42     1.37     1.71
 Montipora capitata Non-bleach 24       1.87 0.0767 43     1.72     2.03
 Porites compressa  Non-bleach 24       1.52 0.0844 42     1.35     1.69
 Montipora capitata Bleach     29       1.97 0.0768 43     1.82     2.13
 Porites compressa  Bleach     29       1.62 0.0793 42     1.46     1.78
 Montipora capitata Non-bleach 29       1.93 0.0767 43     1.78     2.09
 Porites compressa  Non-bleach 29       1.68 0.0844 42     1.51     1.85
 Montipora capitata Bleach     35       1.61 0.1109 43     1.39     1.83
 Porites compressa  Bleach     35       1.52 0.0850 42     1.35     1.69
 Montipora capitata Non-bleach 35       1.85 0.0853 43     1.68     2.02
 Porites compressa  Non-bleach 35       1.50 0.0988 42     1.30     1.70

Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Bleach, Months | Species, Bleach`
Species = Montipora capitata, Bleach = Bleach:
 3                   estimate     SE  df t.ratio p.value
 Months0 - Months10  -0.75662 0.1005 200  -7.528  <.0001
 Months0 - Months12  -0.76172 0.0903 200  -8.437  <.0001
 Months0 - Months17  -0.72822 0.0903 200  -8.066  <.0001
 Months0 - Months20  -0.54593 0.0930 200  -5.868  <.0001
 Months0 - Months24  -0.68299 0.0931 200  -7.336  <.0001
 Months0 - Months29  -0.59332 0.0931 200  -6.372  <.0001
 Months0 - Months35  -0.23025 0.1250 200  -1.842  0.5920
 Months10 - Months12 -0.00510 0.1005 200  -0.051  1.0000
 Months10 - Months17  0.02840 0.1005 200   0.283  1.0000
 Months10 - Months20  0.21069 0.1032 200   2.041  0.4570
 Months10 - Months24  0.07363 0.1024 200   0.719  0.9964
 Months10 - Months29  0.16330 0.1024 200   1.595  0.7532
 Months10 - Months35  0.52636 0.1326 200   3.970  0.0025
 Months12 - Months17  0.03349 0.0903 200   0.371  1.0000
 Months12 - Months20  0.21579 0.0930 200   2.319  0.2883
 Months12 - Months24  0.07873 0.0931 200   0.846  0.9902
 Months12 - Months29  0.16840 0.0931 200   1.809  0.6150
 Months12 - Months35  0.53146 0.1250 200   4.253  0.0008
 Months17 - Months20  0.18229 0.0930 200   1.959  0.5119
 Months17 - Months24  0.04523 0.0931 200   0.486  0.9997
 Months17 - Months29  0.13490 0.0931 200   1.449  0.8331
 Months17 - Months35  0.49797 0.1250 200   3.985  0.0024
 Months20 - Months24 -0.13706 0.0959 200  -1.430  0.8424
 Months20 - Months29 -0.04739 0.0959 200  -0.494  0.9997
 Months20 - Months35  0.31568 0.1267 200   2.492  0.2048
 Months24 - Months29  0.08967 0.0952 200   0.942  0.9815
 Months24 - Months35  0.45274 0.1266 200   3.575  0.0102
 Months29 - Months35  0.36306 0.1266 200   2.867  0.0850

Species = Porites compressa, Bleach = Bleach:
 3                   estimate     SE  df t.ratio p.value
 Months0 - Months10  -0.15990 0.0967 200  -1.654  0.7165
 Months0 - Months12  -0.23446 0.0934 200  -2.512  0.1966
 Months0 - Months17  -0.29232 0.0967 200  -3.024  0.0558
 Months0 - Months20  -0.23738 0.0934 200  -2.543  0.1839
 Months0 - Months24  -0.13385 0.1014 200  -1.320  0.8903
 Months0 - Months29  -0.21942 0.0973 200  -2.256  0.3235
 Months0 - Months35  -0.11573 0.1034 200  -1.119  0.9520
 Months10 - Months12 -0.07456 0.0984 200  -0.758  0.9950
 Months10 - Months17 -0.13242 0.1009 200  -1.312  0.8935
 Months10 - Months20 -0.07748 0.0984 200  -0.787  0.9936
 Months10 - Months24  0.02605 0.1065 200   0.245  1.0000
 Months10 - Months29 -0.05952 0.1024 200  -0.581  0.9991
 Months10 - Months35  0.04417 0.1078 200   0.410  0.9999
 Months12 - Months17 -0.05786 0.0984 200  -0.588  0.9990
 Months12 - Months20 -0.00292 0.0952 200  -0.031  1.0000
 Months12 - Months24  0.10061 0.1032 200   0.975  0.9774
 Months12 - Months29  0.01504 0.0991 200   0.152  1.0000
 Months12 - Months35  0.11873 0.1052 200   1.128  0.9499
 Months17 - Months20  0.05494 0.0984 200   0.558  0.9993
 Months17 - Months24  0.15847 0.1065 200   1.488  0.8130
 Months17 - Months29  0.07290 0.1024 200   0.712  0.9966
 Months17 - Months35  0.17659 0.1078 200   1.638  0.7265
 Months20 - Months24  0.10353 0.1032 200   1.003  0.9735
 Months20 - Months29  0.01796 0.0991 200   0.181  1.0000
 Months20 - Months35  0.12165 0.1052 200   1.156  0.9431
 Months24 - Months29 -0.08557 0.1048 200  -0.816  0.9921
 Months24 - Months35  0.01812 0.1117 200   0.162  1.0000
 Months29 - Months35  0.10369 0.1077 200   0.963  0.9790

Species = Montipora capitata, Bleach = Non-bleach:
 3                   estimate     SE  df t.ratio p.value
 Months0 - Months10  -0.48675 0.0931 200  -5.228  <.0001
 Months0 - Months12  -0.73188 0.0903 200  -8.106  <.0001
 Months0 - Months17  -0.69585 0.0903 200  -7.707  <.0001
 Months0 - Months20  -0.62042 0.0903 200  -6.872  <.0001
 Months0 - Months24  -0.43236 0.0931 200  -4.644  0.0002
 Months0 - Months29  -0.49325 0.0931 200  -5.298  <.0001
 Months0 - Months35  -0.41002 0.1018 200  -4.029  0.0020
 Months10 - Months12 -0.24514 0.0931 200  -2.633  0.1504
 Months10 - Months17 -0.20911 0.0931 200  -2.246  0.3292
 Months10 - Months20 -0.13368 0.0931 200  -1.436  0.8396
 Months10 - Months24  0.05438 0.0952 200   0.571  0.9992
 Months10 - Months29 -0.00650 0.0952 200  -0.068  1.0000
 Months10 - Months35  0.07673 0.1037 200   0.740  0.9957
 Months12 - Months17  0.03603 0.0903 200   0.399  0.9999
 Months12 - Months20  0.11146 0.0903 200   1.235  0.9207
 Months12 - Months24  0.29952 0.0931 200   3.217  0.0320
 Months12 - Months29  0.23864 0.0931 200   2.563  0.1759
 Months12 - Months35  0.32187 0.1018 200   3.163  0.0375
 Months17 - Months20  0.07543 0.0903 200   0.835  0.9909
 Months17 - Months24  0.26349 0.0931 200   2.830  0.0935
 Months17 - Months29  0.20261 0.0931 200   2.176  0.3707
 Months17 - Months35  0.28584 0.1018 200   2.809  0.0986
 Months20 - Months24  0.18806 0.0931 200   2.020  0.4712
 Months20 - Months29  0.12717 0.0931 200   1.366  0.8715
 Months20 - Months35  0.21041 0.1018 200   2.068  0.4395
 Months24 - Months29 -0.06089 0.0952 200  -0.640  0.9983
 Months24 - Months35  0.02235 0.1037 200   0.215  1.0000
 Months29 - Months35  0.08323 0.1037 200   0.802  0.9928

Species = Porites compressa, Bleach = Non-bleach:
 3                   estimate     SE  df t.ratio p.value
 Months0 - Months10  -0.22972 0.0939 200  -2.447  0.2251
 Months0 - Months12  -0.01440 0.0934 200  -0.154  1.0000
 Months0 - Months17  -0.16976 0.0911 200  -1.863  0.5777
 Months0 - Months20  -0.11074 0.0934 200  -1.186  0.9351
 Months0 - Months24  -0.04073 0.1014 200  -0.402  0.9999
 Months0 - Months29  -0.20336 0.1014 200  -2.005  0.4808
 Months0 - Months35  -0.01911 0.1128 200  -0.169  1.0000
 Months10 - Months12  0.21532 0.0958 200   2.248  0.3281
 Months10 - Months17  0.05996 0.0930 200   0.644  0.9982
 Months10 - Months20  0.11898 0.0958 200   1.242  0.9182
 Months10 - Months24  0.18899 0.1039 200   1.820  0.6075
 Months10 - Months29  0.02636 0.1039 200   0.254  1.0000
 Months10 - Months35  0.21061 0.1143 200   1.843  0.5919
 Months12 - Months17 -0.15537 0.0930 200  -1.670  0.7067
 Months12 - Months20 -0.09634 0.0952 200  -1.012  0.9722
 Months12 - Months24 -0.02633 0.1032 200  -0.255  1.0000
 Months12 - Months29 -0.18897 0.1032 200  -1.832  0.5994
 Months12 - Months35 -0.00471 0.1143 200  -0.041  1.0000
 Months17 - Months20  0.05903 0.0930 200   0.634  0.9984
 Months17 - Months24  0.12903 0.1011 200   1.276  0.9066
 Months17 - Months29 -0.03360 0.1011 200  -0.332  1.0000
 Months17 - Months35  0.15065 0.1125 200   1.339  0.8828
 Months20 - Months24  0.07001 0.1032 200   0.679  0.9975
 Months20 - Months29 -0.09263 0.1032 200  -0.898  0.9860
 Months20 - Months35  0.09163 0.1143 200   0.802  0.9929
 Months24 - Months29 -0.16263 0.1087 200  -1.496  0.8087
 Months24 - Months35  0.02162 0.1213 200   0.178  1.0000
 Months29 - Months35  0.18426 0.1213 200   1.519  0.7967

Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 8 estimates 
summary(density.lme)
Linear mixed-effects model fit by REML
 Data: phys 

Random effects:
 Formula: ~1 | Coral_ID
        (Intercept)  Residual
StdDev:   0.1151611 0.2018896

Fixed effects: CaCO3.Density_g.mL.1 ~ Species * Bleach * Months 
 Correlation: 
                                                   (Intr) SpcsPc BlchN- Mnth10 Mnth12 Mnth17 Mnth20 Mnth24 Mnth29 Mnth35 SpPc:BN- SPc:M10
SpeciesPorites compressa                           -0.713                                                                                
BleachNon-bleach                                   -0.707  0.504                                                                         
Months10                                           -0.553  0.394  0.391                                                                  
Months12                                           -0.616  0.439  0.435  0.449                                                           
Months17                                           -0.616  0.439  0.435  0.449  0.500                                                    
Months20                                           -0.598  0.426  0.423  0.433  0.485  0.485                                             
Months24                                           -0.597  0.425  0.422  0.442  0.485  0.485  0.470                                      
Months29                                           -0.597  0.425  0.422  0.442  0.485  0.485  0.470  0.478                               
Months35                                           -0.475  0.338  0.336  0.324  0.361  0.361  0.354  0.355  0.355                        
SpeciesPorites compressa:BleachNon-bleach           0.507 -0.702 -0.717 -0.280 -0.312 -0.312 -0.303 -0.303 -0.303 -0.241                 
SpeciesPorites compressa:Months10                   0.399 -0.568 -0.282 -0.721 -0.324 -0.324 -0.312 -0.319 -0.319 -0.234  0.404          
SpeciesPorites compressa:Months12                   0.428 -0.611 -0.303 -0.312 -0.695 -0.348 -0.337 -0.337 -0.337 -0.251  0.435    0.456 
SpeciesPorites compressa:Months17                   0.420 -0.599 -0.297 -0.307 -0.341 -0.683 -0.331 -0.331 -0.331 -0.247  0.426    0.451 
SpeciesPorites compressa:Months20                   0.422 -0.602 -0.298 -0.306 -0.343 -0.343 -0.706 -0.332 -0.332 -0.250  0.429    0.448 
SpeciesPorites compressa:Months24                   0.404 -0.585 -0.286 -0.299 -0.328 -0.328 -0.318 -0.676 -0.323 -0.240  0.423    0.432 
SpeciesPorites compressa:Months29                   0.413 -0.597 -0.292 -0.306 -0.335 -0.335 -0.325 -0.330 -0.691 -0.245  0.430    0.442 
SpeciesPorites compressa:Months35                   0.366 -0.520 -0.259 -0.250 -0.278 -0.278 -0.273 -0.273 -0.273 -0.770  0.368    0.366 
BleachNon-bleach:Months10                           0.406 -0.289 -0.574 -0.734 -0.330 -0.330 -0.318 -0.325 -0.325 -0.238  0.411    0.529 
BleachNon-bleach:Months12                           0.435 -0.310 -0.616 -0.318 -0.707 -0.354 -0.343 -0.343 -0.343 -0.255  0.441    0.229 
BleachNon-bleach:Months17                           0.435 -0.310 -0.616 -0.318 -0.354 -0.707 -0.343 -0.343 -0.343 -0.255  0.441    0.229 
BleachNon-bleach:Months20                           0.429 -0.306 -0.607 -0.311 -0.348 -0.348 -0.718 -0.337 -0.337 -0.254  0.435    0.224 
BleachNon-bleach:Months24                           0.422 -0.301 -0.597 -0.313 -0.343 -0.343 -0.332 -0.707 -0.338 -0.251  0.428    0.226 
BleachNon-bleach:Months29                           0.422 -0.301 -0.597 -0.313 -0.343 -0.343 -0.332 -0.338 -0.707 -0.251  0.428    0.226 
BleachNon-bleach:Months35                           0.368 -0.262 -0.513 -0.251 -0.280 -0.280 -0.274 -0.275 -0.275 -0.775  0.368    0.181 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.289  0.417  0.409  0.522  0.235  0.235  0.226  0.231  0.231  0.169 -0.593   -0.726 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.303  0.433  0.428  0.221  0.492  0.246  0.239  0.238  0.238  0.178 -0.616   -0.323 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.301  0.434  0.426  0.220  0.245  0.489  0.238  0.237  0.237  0.177 -0.618   -0.325 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.300  0.430  0.425  0.218  0.244  0.244  0.503  0.236  0.236  0.178 -0.611   -0.319 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.285  0.419  0.403  0.211  0.231  0.231  0.224  0.477  0.228  0.169 -0.596   -0.303 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.288  0.422  0.407  0.213  0.234  0.234  0.226  0.230  0.482  0.171 -0.601   -0.307 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.267  0.381  0.372  0.182  0.203  0.203  0.199  0.199  0.199  0.562 -0.529   -0.267 
                                                   SPc:M12 SPc:M17 SPc:M20 SPc:M24 SPc:M29 SPc:M3 BN-:M10 BN-:M12 BN-:M17 BN-:M20 BN-:M24
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                   0.481                                                                                
SpeciesPorites compressa:Months20                   0.483   0.474                                                                        
SpeciesPorites compressa:Months24                   0.462   0.451   0.454                                                                
SpeciesPorites compressa:Months29                   0.472   0.462   0.465   0.459                                                        
SpeciesPorites compressa:Months35                   0.391   0.386   0.387   0.375   0.385                                                
BleachNon-bleach:Months10                           0.229   0.225   0.224   0.220   0.224   0.183                                        
BleachNon-bleach:Months12                           0.492   0.241   0.242   0.232   0.237   0.197  0.466                                 
BleachNon-bleach:Months17                           0.246   0.483   0.242   0.232   0.237   0.197  0.466   0.500                         
BleachNon-bleach:Months20                           0.242   0.238   0.507   0.228   0.233   0.196  0.458   0.492   0.492                 
BleachNon-bleach:Months24                           0.238   0.234   0.234   0.478   0.234   0.193  0.459   0.485   0.485   0.477         
BleachNon-bleach:Months29                           0.238   0.234   0.234   0.228   0.489   0.193  0.459   0.485   0.485   0.477   0.478 
BleachNon-bleach:Months35                           0.195   0.191   0.194   0.186   0.190   0.597  0.371   0.396   0.396   0.392   0.389 
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.330  -0.329  -0.325  -0.312  -0.320  -0.267 -0.712  -0.332  -0.332  -0.326  -0.327 
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.707  -0.340  -0.341  -0.326  -0.333  -0.277 -0.324  -0.695  -0.348  -0.342  -0.337 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.345  -0.719  -0.340  -0.323  -0.331  -0.278 -0.323  -0.346  -0.692  -0.341  -0.336 
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.344  -0.338  -0.712  -0.323  -0.331  -0.276 -0.321  -0.345  -0.345  -0.701  -0.334 
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.325  -0.317  -0.320  -0.709  -0.328  -0.267 -0.309  -0.327  -0.327  -0.322  -0.674 
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.329  -0.321  -0.323  -0.325  -0.702  -0.271 -0.313  -0.330  -0.330  -0.325  -0.326 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.285  -0.282  -0.283  -0.272  -0.279  -0.730 -0.269  -0.287  -0.287  -0.284  -0.282 
                                                   BN-:M29 BN-:M3 SPc:BN-:M10 SPc:BN-:M12 SPc:BN-:M17 SPc:BN-:M20 SPc:BN-:M24 SPc:BN-:M29
SpeciesPorites compressa                                                                                                                 
BleachNon-bleach                                                                                                                         
Months10                                                                                                                                 
Months12                                                                                                                                 
Months17                                                                                                                                 
Months20                                                                                                                                 
Months24                                                                                                                                 
Months29                                                                                                                                 
Months35                                                                                                                                 
SpeciesPorites compressa:BleachNon-bleach                                                                                                
SpeciesPorites compressa:Months10                                                                                                        
SpeciesPorites compressa:Months12                                                                                                        
SpeciesPorites compressa:Months17                                                                                                        
SpeciesPorites compressa:Months20                                                                                                        
SpeciesPorites compressa:Months24                                                                                                        
SpeciesPorites compressa:Months29                                                                                                        
SpeciesPorites compressa:Months35                                                                                                        
BleachNon-bleach:Months10                                                                                                                
BleachNon-bleach:Months12                                                                                                                
BleachNon-bleach:Months17                                                                                                                
BleachNon-bleach:Months20                                                                                                                
BleachNon-bleach:Months24                                                                                                                
BleachNon-bleach:Months29                                                                                                                
BleachNon-bleach:Months35                           0.389                                                                                
SpeciesPorites compressa:BleachNon-bleach:Months10 -0.327  -0.265                                                                        
SpeciesPorites compressa:BleachNon-bleach:Months12 -0.337  -0.275  0.467                                                                 
SpeciesPorites compressa:BleachNon-bleach:Months17 -0.336  -0.274  0.471       0.487                                                     
SpeciesPorites compressa:BleachNon-bleach:Months20 -0.334  -0.275  0.463       0.486       0.484                                         
SpeciesPorites compressa:BleachNon-bleach:Months24 -0.322  -0.262  0.440       0.459       0.456       0.456                             
SpeciesPorites compressa:BleachNon-bleach:Months29 -0.682  -0.265  0.445       0.465       0.462       0.461       0.458                 
SpeciesPorites compressa:BleachNon-bleach:Months35 -0.282  -0.725  0.391       0.404       0.405       0.402       0.384       0.389     

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.90790710 -0.50056191  0.01416292  0.49627526  5.44311100 

Number of Observations: 274
Number of Groups: 44 
r.squaredGLMM(density.lme)
           R2m       R2c
[1,] 0.5472388 0.6583901

####Coefficients

coef(density.lme)
    (Intercept) SpeciesPorites compressa BleachNon-bleach  Months10  Months12  Months17  Months20  Months24  Months29  Months35
3      1.422854               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
4      1.496050               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
11     1.479152               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
12     1.368736               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
19     1.259597               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
20     1.403027               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
26     1.355956               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
27     1.404411               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
35     1.406561               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
36     1.414745               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
41     1.278309               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
42     1.266362               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
43     1.487963               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
44     1.407813               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
45     1.449593               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
46     1.434104               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
201    1.448446               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
202    1.416723               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
203    1.340943               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
204    1.523062               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
209    1.347887               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
210    1.321702               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
211    1.476658               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
212    1.475596               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
213    1.432124               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
214    1.465690               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
217    1.455229               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
218    1.268534               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
219    1.188597               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
220    1.253742               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
221    1.326277               0.02468911       0.06008718 0.7566164 0.7617162 0.7282214 0.5459274 0.6829894 0.5933164 0.2302514
    SpeciesPorites compressa:BleachNon-bleach SpeciesPorites compressa:Months10 SpeciesPorites compressa:Months12
3                                    0.012503                        -0.5967163                        -0.5272567
4                                    0.012503                        -0.5967163                        -0.5272567
11                                   0.012503                        -0.5967163                        -0.5272567
12                                   0.012503                        -0.5967163                        -0.5272567
19                                   0.012503                        -0.5967163                        -0.5272567
20                                   0.012503                        -0.5967163                        -0.5272567
26                                   0.012503                        -0.5967163                        -0.5272567
27                                   0.012503                        -0.5967163                        -0.5272567
35                                   0.012503                        -0.5967163                        -0.5272567
36                                   0.012503                        -0.5967163                        -0.5272567
41                                   0.012503                        -0.5967163                        -0.5272567
42                                   0.012503                        -0.5967163                        -0.5272567
43                                   0.012503                        -0.5967163                        -0.5272567
44                                   0.012503                        -0.5967163                        -0.5272567
45                                   0.012503                        -0.5967163                        -0.5272567
46                                   0.012503                        -0.5967163                        -0.5272567
201                                  0.012503                        -0.5967163                        -0.5272567
202                                  0.012503                        -0.5967163                        -0.5272567
203                                  0.012503                        -0.5967163                        -0.5272567
204                                  0.012503                        -0.5967163                        -0.5272567
209                                  0.012503                        -0.5967163                        -0.5272567
210                                  0.012503                        -0.5967163                        -0.5272567
211                                  0.012503                        -0.5967163                        -0.5272567
212                                  0.012503                        -0.5967163                        -0.5272567
213                                  0.012503                        -0.5967163                        -0.5272567
214                                  0.012503                        -0.5967163                        -0.5272567
217                                  0.012503                        -0.5967163                        -0.5272567
218                                  0.012503                        -0.5967163                        -0.5272567
219                                  0.012503                        -0.5967163                        -0.5272567
220                                  0.012503                        -0.5967163                        -0.5272567
221                                  0.012503                        -0.5967163                        -0.5272567
    SpeciesPorites compressa:Months17 SpeciesPorites compressa:Months20 SpeciesPorites compressa:Months24 SpeciesPorites compressa:Months29
3                          -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
4                          -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
11                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
12                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
19                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
20                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
26                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
27                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
35                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
36                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
41                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
42                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
43                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
44                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
45                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
46                         -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
201                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
202                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
203                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
204                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
209                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
210                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
211                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
212                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
213                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
214                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
217                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
218                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
219                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
220                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
221                        -0.4359007                        -0.3085493                        -0.5491413                        -0.3738975
    SpeciesPorites compressa:Months35 BleachNon-bleach:Months10 BleachNon-bleach:Months12 BleachNon-bleach:Months17 BleachNon-bleach:Months20
3                          -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
4                          -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
11                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
12                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
19                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
20                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
26                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
27                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
35                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
36                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
41                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
42                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
43                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
44                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
45                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
46                         -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
201                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
202                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
203                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
204                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
209                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
210                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
211                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
212                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
213                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
214                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
217                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
218                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
219                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
220                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
221                        -0.1145251                -0.2698704               -0.02983298               -0.03236749                0.07449399
    BleachNon-bleach:Months24 BleachNon-bleach:Months29 BleachNon-bleach:Months35 SpeciesPorites compressa:BleachNon-bleach:Months10
3                  -0.2506278                -0.1000698                 0.1797646                                          0.3396912
4                  -0.2506278                -0.1000698                 0.1797646                                          0.3396912
11                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
12                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
19                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
20                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
26                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
27                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
35                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
36                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
41                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
42                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
43                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
44                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
45                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
46                 -0.2506278                -0.1000698                 0.1797646                                          0.3396912
201                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
202                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
203                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
204                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
209                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
210                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
211                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
212                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
213                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
214                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
217                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
218                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
219                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
220                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
221                -0.2506278                -0.1000698                 0.1797646                                          0.3396912
    SpeciesPorites compressa:BleachNon-bleach:Months12 SpeciesPorites compressa:BleachNon-bleach:Months17
3                                           -0.1902288                                        -0.09019032
4                                           -0.1902288                                        -0.09019032
11                                          -0.1902288                                        -0.09019032
12                                          -0.1902288                                        -0.09019032
19                                          -0.1902288                                        -0.09019032
20                                          -0.1902288                                        -0.09019032
26                                          -0.1902288                                        -0.09019032
27                                          -0.1902288                                        -0.09019032
35                                          -0.1902288                                        -0.09019032
36                                          -0.1902288                                        -0.09019032
41                                          -0.1902288                                        -0.09019032
42                                          -0.1902288                                        -0.09019032
43                                          -0.1902288                                        -0.09019032
44                                          -0.1902288                                        -0.09019032
45                                          -0.1902288                                        -0.09019032
46                                          -0.1902288                                        -0.09019032
201                                         -0.1902288                                        -0.09019032
202                                         -0.1902288                                        -0.09019032
203                                         -0.1902288                                        -0.09019032
204                                         -0.1902288                                        -0.09019032
209                                         -0.1902288                                        -0.09019032
210                                         -0.1902288                                        -0.09019032
211                                         -0.1902288                                        -0.09019032
212                                         -0.1902288                                        -0.09019032
213                                         -0.1902288                                        -0.09019032
214                                         -0.1902288                                        -0.09019032
217                                         -0.1902288                                        -0.09019032
218                                         -0.1902288                                        -0.09019032
219                                         -0.1902288                                        -0.09019032
220                                         -0.1902288                                        -0.09019032
221                                         -0.1902288                                        -0.09019032
    SpeciesPorites compressa:BleachNon-bleach:Months20 SpeciesPorites compressa:BleachNon-bleach:Months24
3                                           -0.2011351                                          0.1575106
4                                           -0.2011351                                          0.1575106
11                                          -0.2011351                                          0.1575106
12                                          -0.2011351                                          0.1575106
19                                          -0.2011351                                          0.1575106
20                                          -0.2011351                                          0.1575106
26                                          -0.2011351                                          0.1575106
27                                          -0.2011351                                          0.1575106
35                                          -0.2011351                                          0.1575106
36                                          -0.2011351                                          0.1575106
41                                          -0.2011351                                          0.1575106
42                                          -0.2011351                                          0.1575106
43                                          -0.2011351                                          0.1575106
44                                          -0.2011351                                          0.1575106
45                                          -0.2011351                                          0.1575106
46                                          -0.2011351                                          0.1575106
201                                         -0.2011351                                          0.1575106
202                                         -0.2011351                                          0.1575106
203                                         -0.2011351                                          0.1575106
204                                         -0.2011351                                          0.1575106
209                                         -0.2011351                                          0.1575106
210                                         -0.2011351                                          0.1575106
211                                         -0.2011351                                          0.1575106
212                                         -0.2011351                                          0.1575106
213                                         -0.2011351                                          0.1575106
214                                         -0.2011351                                          0.1575106
217                                         -0.2011351                                          0.1575106
218                                         -0.2011351                                          0.1575106
219                                         -0.2011351                                          0.1575106
220                                         -0.2011351                                          0.1575106
221                                         -0.2011351                                          0.1575106
    SpeciesPorites compressa:BleachNon-bleach:Months29 SpeciesPorites compressa:BleachNon-bleach:Months35
3                                           0.08401511                                         -0.2763828
4                                           0.08401511                                         -0.2763828
11                                          0.08401511                                         -0.2763828
12                                          0.08401511                                         -0.2763828
19                                          0.08401511                                         -0.2763828
20                                          0.08401511                                         -0.2763828
26                                          0.08401511                                         -0.2763828
27                                          0.08401511                                         -0.2763828
35                                          0.08401511                                         -0.2763828
36                                          0.08401511                                         -0.2763828
41                                          0.08401511                                         -0.2763828
42                                          0.08401511                                         -0.2763828
43                                          0.08401511                                         -0.2763828
44                                          0.08401511                                         -0.2763828
45                                          0.08401511                                         -0.2763828
46                                          0.08401511                                         -0.2763828
201                                         0.08401511                                         -0.2763828
202                                         0.08401511                                         -0.2763828
203                                         0.08401511                                         -0.2763828
204                                         0.08401511                                         -0.2763828
209                                         0.08401511                                         -0.2763828
210                                         0.08401511                                         -0.2763828
211                                         0.08401511                                         -0.2763828
212                                         0.08401511                                         -0.2763828
213                                         0.08401511                                         -0.2763828
214                                         0.08401511                                         -0.2763828
217                                         0.08401511                                         -0.2763828
218                                         0.08401511                                         -0.2763828
219                                         0.08401511                                         -0.2763828
220                                         0.08401511                                         -0.2763828
221                                         0.08401511                                         -0.2763828
 [ reached 'max' / getOption("max.print") -- omitted 13 rows ]

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
densityfig<-ggplot(phys, aes(y=CaCO3.Density_g.mL.1, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})), limits=c(1,2.5))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
densityfig

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
density_stress_fig<-ggplot(phys_stress, aes(y=CaCO3.Density_g.mL.1, x=Months, color=Bleach, fill=Bleach))+ 
geom_point(data=phys_stress,aes(y=CaCO3.Density_g.mL.1, x=Months, color=Bleach), alpha=0.9,position=position_jitterdodge())+
  geom_boxplot(data=phys_stress,aes(y=CaCO3.Density_g.mL.1, x=Months, color=Bleach), alpha=0.5, color="black", outlier.shape = NA)+
  geom_boxplot( alpha=0.6,  outlier.shape = NA, color="black")+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})), limits=c(1,2.5))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
density_stress_fig

library(Rmisc)
density_sum<-summarySE(phys, measurevar='CaCO3.Density_g.mL.1', groupvars=c('Date','Species', 'Bleach'), na.rm=TRUE, conf.interval = 0.95)
density_sum
densityfig_3<-ggplot(density_sum, aes(y=CaCO3.Density_g.mL.1, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(size=1, position=position_dodge(0.3),stat="identity")+
  #geom_point(data=phys, aes(y=density_mg.cm.2, x=Date), alpha=0.4)+
  #geom_smooth(method="gam", formula = y ~ s(x, bs = "density", k=3), se=F)+
  facet_wrap(~Species)+
  geom_linerange(aes(ymin=CaCO3.Density_g.mL.1-se, ymax=CaCO3.Density_g.mL.1+se), width= 0.7,  position=position_dodge(0.3),stat="identity") +
  geom_path(aes(group = interaction(Bleach), stat="identity"), position=position_dodge(0.3), linetype="solid")+
  scale_x_date(breaks = as.Date(c("2019-10-01","2020-02-01","2020-06-01","2020-10-01","2021-02-01","2021-06-01","2021-10-01","2022-02-01","2022-06-01","2022-10-01")), date_labels = "%b %Y")+ 
 scale_y_continuous(expression(CaCO[3]~density~(g~'\U2219'~mL^{-1})), limits=c(1.2,2.2))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(angle=90,vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12,face="italic"))
Warning: Ignoring unknown parameters: widthWarning: Ignoring unknown aesthetics: stat
densityfig_3

##Internal volume ###Normality

hist(phys$X.internal.volume)

intvol.lm<- lm(X.internal.volume~Species*Bleach*Months, data=phys) #Gaussian
par(mfrow=c(2,3))
plot(intvol.lm, ask=FALSE, which=1:6)

###Stats

intvol.lme <- lme(X.internal.volume~Species*Bleach*Months, random = ~1|Coral_ID, data=phys, na.action=na.exclude)
car::Anova(intvol.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: X.internal.volume
                         Chisq Df Pr(>Chisq)    
(Intercept)           195.1880  1  < 2.2e-16 ***
Species                 0.2671  1   0.605317    
Bleach                  1.5242  1   0.216988    
Months                103.2891  7  < 2.2e-16 ***
Species:Bleach          0.0245  1   0.875526    
Species:Months         26.4123  7   0.000425 ***
Bleach:Months          13.8235  7   0.054411 .  
Species:Bleach:Months  10.9181  7   0.142232    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(intvol.lme, list(pairwise ~ Species:Bleach:Months), adjust = "tukey", simple="Bleach")
tukey3
$`emmeans of Species, Bleach, Months`
 Species            Bleach     Months emmean   SE df lower.CL upper.CL
 Montipora capitata Bleach     0        34.4 2.46 43     29.4     39.4
 Porites compressa  Bleach     0        32.6 2.44 42     27.7     37.5
 Montipora capitata Non-bleach 0        38.7 2.46 43     33.7     43.6
 Porites compressa  Non-bleach 0        37.7 2.44 42     32.7     42.6
 Montipora capitata Bleach     10       58.4 2.89 43     52.6     64.2
 Porites compressa  Bleach     10       40.8 2.71 42     35.3     46.2
 Montipora capitata Non-bleach 10       54.7 2.58 43     49.5     60.0
 Porites compressa  Non-bleach 10       45.3 2.55 42     40.2     50.5
 Montipora capitata Bleach     12       59.8 2.46 43     54.9     64.8
 Porites compressa  Bleach     12       41.2 2.56 42     36.1     46.4
 Montipora capitata Non-bleach 12       57.6 2.46 43     52.7     62.6
 Porites compressa  Non-bleach 12       35.9 2.57 42     30.8     41.1
 Montipora capitata Bleach     17       57.6 2.46 43     52.6     62.5
 Porites compressa  Bleach     17       44.9 2.71 42     39.4     50.4
 Montipora capitata Non-bleach 17       57.6 2.46 43     52.6     62.5
 Porites compressa  Non-bleach 17       41.3 2.43 42     36.4     46.2
 Montipora capitata Bleach     20       52.5 2.58 43     47.3     57.7
 Porites compressa  Bleach     20       40.8 2.56 42     35.7     46.0
 Montipora capitata Non-bleach 20       55.9 2.46 43     51.0     60.9
 Porites compressa  Non-bleach 20       39.8 2.57 42     34.6     45.0
 Montipora capitata Bleach     24       57.8 2.58 43     52.6     63.0
 Porites compressa  Bleach     24       36.6 2.85 42     30.8     42.4
 Montipora capitata Non-bleach 24       49.9 2.58 43     44.7     55.1
 Porites compressa  Non-bleach 24       36.5 2.86 42     30.8     42.3
 Montipora capitata Bleach     29       54.2 2.58 43     49.0     59.4
 Porites compressa  Bleach     29       41.3 2.69 42     35.9     46.7
 Montipora capitata Non-bleach 29       52.8 2.58 43     47.6     58.0
 Porites compressa  Non-bleach 29       43.5 2.86 42     37.7     49.3
 Montipora capitata Bleach     35       41.8 3.76 43     34.2     49.4
 Porites compressa  Bleach     35       37.2 2.88 42     31.4     43.0
 Montipora capitata Non-bleach 35       50.2 2.88 43     44.4     56.0
 Porites compressa  Non-bleach 35       34.5 3.36 42     27.8     41.3

Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Bleach, Months | Species, Months`
Species = Montipora capitata, Months = 0:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -4.29699 3.48 200  -1.235  0.2184

Species = Porites compressa, Months = 0:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -5.06079 3.41 200  -1.482  0.1399

Species = Montipora capitata, Months = 10:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  3.66757 3.87 200   0.947  0.3449

Species = Porites compressa, Months = 10:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -4.57267 3.67 200  -1.245  0.2146

Species = Montipora capitata, Months = 12:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  2.22188 3.48 200   0.638  0.5240

Species = Porites compressa, Months = 12:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  5.27971 3.59 200   1.472  0.1426

Species = Montipora capitata, Months = 17:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  0.00174 3.48 200   0.001  0.9996

Species = Porites compressa, Months = 17:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  3.56264 3.59 200   0.991  0.3229

Species = Montipora capitata, Months = 20:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -3.44168 3.56 200  -0.966  0.3354

Species = Porites compressa, Months = 20:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  1.04210 3.59 200   0.291  0.7717

Species = Montipora capitata, Months = 24:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  7.82706 3.65 200   2.145  0.0332

Species = Porites compressa, Months = 24:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  0.06105 3.98 200   0.015  0.9878

Species = Montipora capitata, Months = 29:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  1.38897 3.65 200   0.381  0.7039

Species = Porites compressa, Months = 29:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -2.17047 3.87 200  -0.561  0.5752

Species = Montipora capitata, Months = 35:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach) -8.45866 4.74 200  -1.785  0.0758

Species = Porites compressa, Months = 35:
 3                     estimate   SE  df t.ratio p.value
 Bleach - (Non-bleach)  2.65122 4.40 200   0.602  0.5476

Degrees-of-freedom method: containment 

###Figure

phys$Date<- as.Date(as.POSIXct(phys$Date, origin="1970-01-01"))
intvolfig<-ggplot(phys, aes(y=X.internal.volume, x=Date, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.4)+
  geom_smooth(method="gam", formula = y ~ s(x, bs = "cs", k=3))+
  #geom_boxplot(aes(group = interaction(Date,Bleach), stat="identity"), alpha=0.7,  outlier.shape = NA)+
  facet_grid(~Species)+
  scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  scale_y_continuous(expression(Internal~volume~("%")))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12, angle=90),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
intvolfig

library(cowplot)
allphys<-cowplot::plot_grid(proteinfig_3,lipidfig_3,AFDWfig_3,densityfig_3,ppofig_3,melfig_3, symfig_3,chlafig_3,chlacellfig_3, Pnetfig_3, LEDRfig_3,PRfig_3,nrow=4, ncol=3,  align="h", axis = "bt")
Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_segment).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 11 rows containing missing values (geom_segment).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 8 rows containing missing values (geom_segment).
allphys

library(cowplot)
allphyssupp<-cowplot::plot_grid(tacfig_3,csfig_3,ppofig_3,melfig_3, chlacellfig_3,tacfig_3,csfig_3,ppofig_3,melfig_3, chlacellfig_3,melfig_3, chlacellfig_3,nrow=4, ncol=3,  align="h", axis = "bt")
Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).Warning: Removed 4 rows containing missing values (geom_point).Warning: Removed 2 rows containing missing values (geom_segment).Warning: Removed 3 rows containing missing values (geom_segment).Warning: Removed 2 row(s) containing missing values (geom_path).
allphyssupp

library(cowplot)
phys2<-plot_grid(proteinfig,symfig, nrow=2, ncol=1,  align="h", axis = "bt")
Error in plot_grid(proteinfig, symfig, nrow = 2, ncol = 1, align = "h",  : 
  unused arguments (nrow = 2, ncol = 1, align = "h", axis = "bt")

#Composite Figure

library(cowplot)
allphys_stress<-cowplot::plot_grid(AFDW_stress_fig,protein_stress_fig,lipid_stress_fig, density_stress_fig,sym_stress_fig,chla_stress_fig,tac_stress_fig,mel_stress_fig,ppo_stress_fig,pnet_stress_fig,LEDR_stress_fig,PR_stress_fig, nrow=4, ncol=3,  align="h", axis = "bt")
Warning: Removed 41 rows containing non-finite values (stat_boxplot).Warning: Removed 41 rows containing missing values (geom_point).Warning: Removed 40 rows containing non-finite values (stat_boxplot).Warning: Removed 40 rows containing missing values (geom_point).Warning: Removed 85 rows containing non-finite values (stat_boxplot).Warning: Removed 85 rows containing missing values (geom_point).Warning: Removed 40 rows containing non-finite values (stat_boxplot).Warning: Removed 40 rows containing non-finite values (stat_boxplot).Warning: Removed 40 rows containing missing values (geom_point).Warning: Removed 41 rows containing non-finite values (stat_boxplot).Warning: Removed 41 rows containing non-finite values (stat_boxplot).Warning: Removed 41 rows containing missing values (geom_point).Warning: Removed 40 rows containing non-finite values (stat_boxplot).Warning: Removed 40 rows containing non-finite values (stat_boxplot).Warning: Removed 40 rows containing missing values (geom_point).Warning: Removed 63 rows containing non-finite values (stat_boxplot).Warning: Removed 63 rows containing missing values (geom_point).Warning: Removed 83 rows containing non-finite values (stat_boxplot).Warning: Removed 83 rows containing non-finite values (stat_boxplot).Warning: Removed 83 rows containing missing values (geom_point).Warning: Removed 81 rows containing non-finite values (stat_boxplot).Warning: Removed 81 rows containing non-finite values (stat_boxplot).Warning: Removed 81 rows containing missing values (geom_point).Warning: Removed 63 rows containing non-finite values (stat_boxplot).Warning: Removed 63 rows containing missing values (geom_point).Warning: Removed 61 rows containing non-finite values (stat_boxplot).Warning: Removed 61 rows containing missing values (geom_point).Warning: Removed 64 rows containing non-finite values (stat_boxplot).Warning: Removed 64 rows containing missing values (geom_point).
allphys_stress

library(cowplot)
allphys_stress<-cowplot::plot_grid(proteinfig,AFDWfig,lipidfig,densityfig,symfig,chlafig,tacfig,ppofig,csfig,Pnetfig_3,LEDRfig_3,PRfig_3, nrow=4, ncol=3,  align="h", axis = "bt")
Warning: Removed 40 rows containing non-finite values (stat_smooth).Warning: Removed 40 rows containing missing values (geom_point).Warning: Removed 41 rows containing non-finite values (stat_smooth).Warning: Removed 41 rows containing missing values (geom_point).Warning: Removed 87 rows containing non-finite values (stat_smooth).Warning: Removed 87 rows containing missing values (geom_point).Warning: Removed 43 rows containing non-finite values (stat_smooth).Warning: Removed 43 rows containing missing values (geom_point).Warning: Removed 45 rows containing non-finite values (stat_smooth).Warning: Removed 45 rows containing missing values (geom_point).Warning: Removed 40 rows containing non-finite values (stat_smooth).Warning: Removed 40 rows containing missing values (geom_point).Warning: Removed 63 rows containing non-finite values (stat_smooth).Warning: Removed 63 rows containing missing values (geom_point).Warning: Removed 83 rows containing non-finite values (stat_smooth).Warning: Removed 83 rows containing missing values (geom_point).Warning: Removed 80 rows containing non-finite values (stat_smooth).Warning: Removed 80 rows containing missing values (geom_point).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 11 rows containing missing values (geom_segment).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 16 rows containing missing values (geom_point).Warning: Removed 8 rows containing missing values (geom_segment).Warning: Removed 8 rows containing missing values (geom_segment).
allphys_stress

##Multivariate

phys<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Phys data with Teegan MDS no Oct-Nov 2020 and only peak heatwave.csv", strip.white=T)
Warning messages:
1: In as.POSIXlt.POSIXct(x, tz) : unknown timezone '%Y-%m-%d hh:mm:ss'
2: In as.POSIXlt.POSIXct(x, tz) : unknown timezone '%Y-%m-%d hh:mm:ss'
phys$Date<- as.Date(phys$Date, format = "%Y-%m-%d")
phys$Bleach<-as.factor(phys$Bleach)
phys$Months<-as.factor(phys$Months)
phys$Coral<-as.factor(phys$Coral)
phys$Coral_ID<-as.factor(phys$Coral_ID)
phys
library(lubridate)
library(dplyr)
#grouping each June-March; Jan-Mar "recovery"; June to June calendar year; heat stress (date when it falls below MMM) define this as recovery; bleaching remains Jan/Feb
phys$day <- day(as.POSIXlt(phys$Date))
phys$month <- month(as.POSIXlt(phys$Date))
phys$year <- year(as.POSIXlt(phys$Date))
phys$year<-as.factor(phys$year)
phys<-phys%>%
  mutate(season= ifelse (month %in% c(5,6,7,8,9,10), "summer",
                         ifelse(month %in% c(11,12,1,2,3,4), "winter", NA))) %>%
  mutate(period= ifelse(year %in% c(2019) & month %in% c(9,10,11,12), "A",
                         ifelse(year %in% c(2019) & month %in% c(5,6,7,8), "A",
                                 ifelse(year %in% c(2020) & month %in% c(1,2,3,4), "A",
                                 ifelse(year %in% c(2020) & month %in% c(5,6,7,8,9,10,11,12), "B",
                                 ifelse(year %in% c(2021) & month %in% c(1,2,3,4), "B",
                                 ifelse(year %in% c(2021) & month %in% c(5,6,7,8,9,10,11,12),"C",
                                 ifelse(year %in% c(2022) & month %in% c(1,2,3,4), "C",NA))))))))
phys
#phys<-filter(phys, Period == c("Recovery"))
#phys
unique(phys$Period)
[1] "Recovery" "Heatwave"
colnames(phys)
 [1] "Coral_ID"                   "Coral"                      "Bleach"                     "Date"                       "Period"                    
 [6] "Months"                     "Protein_mg.cm.2"            "Sym.density_10.6cells.cm.2" "Chl.a_ug.cm2"               "CaCO3.Density_g.mL.1"      
[11] "X.internal.volume"          "pg.Chl.a.per.zoox"          "AFDW_mg.cm.2"               "TAC_CRE.mgprotein.1"        "ug.Chl.a.per.zoox"         
[16] "day"                        "month"                      "year"                       "season"                     "period"                    
library(vegan)
Warning: package ‘vegan’ was built under R version 4.0.5Loading required package: permute
Warning: package ‘permute’ was built under R version 4.0.5This is vegan 2.6-2
phys.rda<- rda(phys[,(7:13)], na.rm=TRUE, scale=TRUE)#include only columns here that are benthic categories (e.g, CCA, macroalgae, Porites)
biplot(phys.rda, scaling=1, main='Scaling')

pca.sites.scores<- as.data.frame(scores(phys.rda, display='sites'))
pca.sites.scores<- data.frame(pca.sites.scores, phys)
pca.species.scores<- as.data.frame(scores(phys.rda, display='species'))
pca.species.scores$Species<- rownames(pca.species.scores)
pca.species.scores
include_list<- c("Protein_mg.cm.2","Sym.density_10.6cells.cm.2","Chl.a_ug.cm2", "pg.Chl.a.per.zoox", "AFDW_mg.cm.2", "CaCO3.Density_g.mL.1") #List of vectors to inclue on the below plot
pca.species.scores<-pca.species.scores[include_list,]
g<-ggplot()+
  geom_point(data=pca.sites.scores, aes(y=PC2, x=PC1, color=Months, shape=Bleach), size=3, alpha=0.8)+
  facet_wrap(~Coral)+
  geom_hline(yintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") + 
  geom_vline(xintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") +
  geom_segment(data=pca.species.scores, aes(y=0, x=0, yend=PC2, xend=PC1), arrow=arrow(length=unit(0.3, 'lines')),color='black', linetype='solid',alpha=0.9)+
  geom_text(data=pca.species.scores, aes(y=PC2, x=PC1, label=Species), color="black")+
  scale_color_brewer(palette = "RdYlBu")+
  #scale_color_manual("Year", values=c("2019"='coral2',"2020"='paleturquoise2',"2021"='darkslategray4'))+ #Manually choose the colors   
  scale_shape_manual("Bleach", values=c("Bleach"=(pch=8),"Non-bleach"=(pch=16)))+ #Manually choose the colors
  scale_x_continuous(limits=c(-3,3),paste(names(eig[1]), sprintf('(%0.1f%% explained var.)', 100 * eig[1]/sum(eig))))+
  scale_y_continuous(paste(names(eig[2]), sprintf('(%0.1f%% explained var.)', 100 * eig[2]/sum(eig))))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
g

library(cowplot)
pcaillustrator<-cowplot::plot_grid(g,g,g, nrow=3, align="h", axis = "bt")
pcaillustrator

eig<-eigenvals(phys.rda)
eig
     PC1      PC2      PC3      PC4      PC5      PC6      PC7 
3.418037 1.809117 0.884431 0.435066 0.282408 0.134055 0.036887 
veg.hull= pca.sites.scores %>% group_by(Months) %>%
  do({
    x=.
    x[chull(x$PC1, x$PC2),]
  })
g+ geom_polygon(data=veg.hull, aes(y=PC2, x=PC1,fill=Months), alpha=0.2)+
  scale_fill_brewer(palette = "RdYlBu")

###MDS Montipora only

mdsmon<-dplyr::filter(phys, Coral== c("Montipora capitata"))
colnames(mdsmon)
 [1] "Coral_ID"                   "Coral"                      "Bleach"                     "Date"                       "Period"                    
 [6] "Months"                     "Protein_mg.cm.2"            "Sym.density_10.6cells.cm.2" "Chl.a_ug.cm2"               "CaCO3.Density_g.mL.1"      
[11] "X.internal.volume"          "pg.Chl.a.per.zoox"          "AFDW_mg.cm.2"               "TAC_CRE.mgprotein.1"        "ug.Chl.a.per.zoox"         
[16] "day"                        "month"                      "year"                       "season"                     "period"                    
#row.has.na <- apply(mdsbefore[,(8:17)], 1, function(x){any(is.na(x))})
#mdsbefore.filtered <- mdsbefore[!row.has.na,]
#mdsbefore.filtered
library(vegan)
phys.rda<- rda(mdsmon[,(7:13)], na.rm=TRUE, scale=TRUE)#include only columns here that are benthic categories (e.g, CCA, macroalgae, Porites)
biplot(phys.rda, scaling=1, main='Scaling')

pca.sites.scores<- as.data.frame(scores(phys.rda, display='sites'))
pca.sites.scores<- data.frame(pca.sites.scores, mdsmon)
pca.species.scores<- as.data.frame(scores(phys.rda, display='species'))
pca.species.scores$Species<- rownames(pca.species.scores)
pca.species.scores
include_list<- c("Protein_mg.cm.2","Sym.density_10.6cells.cm.2","Chl.a_ug.cm2", "pg.Chl.a.per.zoox", "AFDW_mg.cm.2", "CaCO3.Density_g.mL.1") #List of vectors to inclue on the below plot
pca.species.scores<-pca.species.scores[include_list,]
gmon<-ggplot()+
  geom_point(data=pca.sites.scores, aes(y=PC2, x=PC1, color=Months, shape=Bleach), size=3, alpha=0.8)+
  facet_wrap(~Coral)+
  geom_hline(yintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") + 
  geom_vline(xintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") +
  geom_segment(data=pca.species.scores, aes(y=0, x=0, yend=PC2, xend=PC1), arrow=arrow(length=unit(0.3, 'lines')),color='black', linetype='solid',alpha=0.9)+
  geom_text(data=pca.species.scores, aes(y=PC2, x=PC1, label=Species), color="black")+
  scale_color_brewer(palette = "RdYlBu")+
  #scale_color_manual("Year", values=c("2019"='coral2',"2020"='paleturquoise2',"2021"='darkslategray4'))+ #Manually choose the colors   
  scale_shape_manual("Bleach", values=c("Bleach"=(pch=8),"Non-bleach"=(pch=16)))+ #Manually choose the colors
  scale_x_continuous(limits=c(-3,3),paste(names(eig[1]), sprintf('(%0.1f%% explained var.)', 100 * eig[1]/sum(eig))))+
  scale_y_continuous(paste(names(eig[2]), sprintf('(%0.1f%% explained var.)', 100 * eig[2]/sum(eig))))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
gmon

gmonseason<-ggplot()+
  geom_point(data=pca.sites.scores, aes(y=PC2, x=PC1, color=season, shape=Bleach), size=3, alpha=0.8)+
  facet_wrap(~Coral)+
  geom_hline(yintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") + 
  geom_vline(xintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") +
  geom_segment(data=pca.species.scores, aes(y=0, x=0, yend=PC2, xend=PC1), arrow=arrow(length=unit(0.3, 'lines')),color='black', linetype='solid',alpha=0.9)+
  geom_text(data=pca.species.scores, aes(y=PC2, x=PC1, label=Species), color="black")+
  #scale_color_brewer(palette = "RdYlBu")+
  scale_color_manual("season", values=c("summer"='indianred3', "winter"= "navyblue","NA"="white"))+
  #scale_color_manual("Year", values=c("2019"='coral2',"2020"='paleturquoise2',"2021"='darkslategray4'))+ #Manually choose the colors   
  scale_shape_manual("Bleach", values=c("Bleach"=(pch=8),"Non-bleach"=(pch=16)))+ #Manually choose the colors
  scale_x_continuous(limits=c(-3,3),paste(names(eig[1]), sprintf('(%0.1f%% explained var.)', 100 * eig[1]/sum(eig))))+
  scale_y_continuous(paste(names(eig[2]), sprintf('(%0.1f%% explained var.)', 100 * eig[2]/sum(eig))))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
gmonseason

library(cowplot)
pcaillustrator<-cowplot::plot_grid(gmon,gpor,gmonseason, gporseason, nrow=2, align="h", axis = "bt")
Error in cowplot::plot_grid(gmon, gpor, gmonseason, gporseason, nrow = 2,  : 
  object 'gpor' not found
eig<-eigenvals(phys.rda)
eig
      PC1       PC2       PC3       PC4       PC5       PC6       PC7 
2.7269852 1.7135592 1.4518895 0.4752762 0.3634977 0.2196260 0.0491662 
veg.hull= pca.sites.scores %>% group_by(Months) %>%
  do({
    x=.
    x[chull(x$PC1, x$PC2),]
  })

###MDS Porites only

mdspor<-dplyr::filter(phys, Coral== c("Porites compressa"))
colnames(mdspor)
 [1] "Coral_ID"                   "Coral"                      "Bleach"                     "Date"                       "Period"                    
 [6] "Months"                     "Protein_mg.cm.2"            "Sym.density_10.6cells.cm.2" "Chl.a_ug.cm2"               "CaCO3.Density_g.mL.1"      
[11] "X.internal.volume"          "pg.Chl.a.per.zoox"          "AFDW_mg.cm.2"               "TAC_CRE.mgprotein.1"        "ug.Chl.a.per.zoox"         
[16] "day"                        "month"                      "year"                       "season"                     "period"                    
#row.has.na <- apply(mdsbefore[,(8:17)], 1, function(x){any(is.na(x))})
#mdsbefore.filtered <- mdsbefore[!row.has.na,]
#mdsbefore.filtered
library(vegan)
phys.rda<- rda(mdspor[,(7:13)], na.rm=TRUE, scale=TRUE)#include only columns here that are benthic categories (e.g, CCA, macroalgae, Porites)
biplot(phys.rda, scaling=1, main='Scaling')

pca.sites.scores<- as.data.frame(scores(phys.rda, display='sites'))
pca.sites.scores<- data.frame(pca.sites.scores, mdspor)
pca.species.scores<- as.data.frame(scores(phys.rda, display='species'))
pca.species.scores$Species<- rownames(pca.species.scores)
pca.species.scores
include_list<- c("Protein_mg.cm.2","Sym.density_10.6cells.cm.2","Chl.a_ug.cm2", "pg.Chl.a.per.zoox", "AFDW_mg.cm.2", "CaCO3.Density_g.mL.1") #List of vectors to inclue on the below plot
pca.species.scores<-pca.species.scores[include_list,]
eig<-eigenvals(phys.rda)
eig
      PC1       PC2       PC3       PC4       PC5       PC6       PC7 
2.8435855 1.8611869 1.2190327 0.5227434 0.3197398 0.1906720 0.0430398 
gpor<-ggplot()+
  geom_point(data=pca.sites.scores, aes(y=PC2, x=PC1, color=Months, shape=Bleach), size=3, alpha=0.8)+
  facet_wrap(~Coral)+
  geom_hline(yintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") + 
  geom_vline(xintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") +
  geom_segment(data=pca.species.scores, aes(y=0, x=0, yend=PC2, xend=PC1), arrow=arrow(length=unit(0.3, 'lines')),color='black', linetype='solid',alpha=0.9)+
  geom_text(data=pca.species.scores, aes(y=PC2, x=PC1, label=Species), color="black")+
  scale_color_brewer(palette = "RdYlBu")+
  #scale_color_manual("Year", values=c("2019"='coral2',"2020"='paleturquoise2',"2021"='darkslategray4'))+ #Manually choose the colors   
  scale_shape_manual("Bleach", values=c("Bleach"=(pch=8),"Non-bleach"=(pch=16)))+ #Manually choose the colors
  scale_x_continuous(limits=c(-3,3),paste(names(eig[1]), sprintf('(%0.1f%% explained var.)', 100 * eig[1]/sum(eig))))+
  scale_y_continuous(paste(names(eig[2]), sprintf('(%0.1f%% explained var.)', 100 * eig[2]/sum(eig))))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
gpor

gporseason<-ggplot()+
  geom_point(data=pca.sites.scores, aes(y=PC2, x=PC1, color=season, shape=Bleach), size=3, alpha=0.8)+
  facet_wrap(~Coral)+
  geom_hline(yintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") + 
  geom_vline(xintercept = 0, linetype = 2, alpha = 0.8, color = "darkgray") +
  geom_segment(data=pca.species.scores, aes(y=0, x=0, yend=PC2, xend=PC1), arrow=arrow(length=unit(0.3, 'lines')),color='black', linetype='solid',alpha=0.9)+
  geom_text(data=pca.species.scores, aes(y=PC2, x=PC1, label=Species), color="black")+
  #scale_color_brewer(palette = "RdYlBu")+
  scale_color_manual("season", values=c("summer"='indianred3', "winter"= "navyblue","NA"="white"))+
  #scale_color_manual("Year", values=c("2019"='coral2',"2020"='paleturquoise2',"2021"='darkslategray4'))+ #Manually choose the colors   
  scale_shape_manual("Bleach", values=c("Bleach"=(pch=8),"Non-bleach"=(pch=16)))+ #Manually choose the colors
  scale_x_continuous(limits=c(-3,3),paste(names(eig[1]), sprintf('(%0.1f%% explained var.)', 100 * eig[1]/sum(eig))))+
  scale_y_continuous(paste(names(eig[2]), sprintf('(%0.1f%% explained var.)', 100 * eig[2]/sum(eig))))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
gporseason

permanova_por<-adonis(mdspor[,(7:13)] ~ Bleach*Months, data=mdspor, permutations=9999)
'adonis' will be deprecated: use 'adonis2' instead
permanova_por
$aov.tab
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

               Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Bleach          1    0.0248 0.024830  0.9556 0.00622 0.4775    
Months          7    0.7463 0.106610  4.1028 0.18703 0.0001 ***
Bleach:Months   7    0.1527 0.021815  0.8395 0.03827 0.7078    
Residuals     118    3.0662 0.025985         0.76847           
Total         133    3.9900                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$call
adonis(formula = mdspor[, (7:13)] ~ Bleach * Months, data = mdspor, 
    permutations = 9999)

$coefficients
                Protein_mg.cm.2 Sym.density_10.6cells.cm.2 Chl.a_ug.cm2 CaCO3.Density_g.mL.1 X.internal.volume pg.Chl.a.per.zoox AFDW_mg.cm.2
(Intercept)         0.440081536                2.725992032  20.07875328         1.5517563719        38.6205787        20.4368838   8.12506185
Bleach1            -0.004401769                0.065851648  -0.45222447         0.0213482775         0.5020922        -1.0259859  -0.14242038
Months1            -0.164475063               -1.744527777  -1.34279776        -0.1094768433        -3.4307563         1.1641162  -4.26442073
Months2            -0.082818238                0.248112602  -5.97529232        -0.0051207589         2.0024258        -6.3334229   1.04936603
Months3            -0.053952488               -0.650950664   0.96263070         0.0116898580        -0.1088162         0.6045001  -3.09839846
Months4             0.083342397                0.822592216   6.72992884         0.1178511860         4.4084619         6.3717983   2.87816534
Months5             0.053571366               -0.002032736  -1.80273462         0.0613187810         1.6260016        -2.1608652   2.21010382
Months6             0.082899088                0.908619056   2.94671672        -0.0119268660        -1.8224865         2.5885862  -0.76751106
Months7             0.070425383                0.073008030   3.85388445        -0.0109457804         0.6934055         3.4957539   1.64367468
Bleach1:Months1     0.025645469               -0.032927205   1.27931564        -0.0620194244        -3.1565276        -2.7370141   0.56327481
Bleach1:Months2     0.053211317                0.538785552   1.73485695        -0.0098793343        -0.5451277         2.3086183   0.89583295
Bleach1:Months3    -0.033209169               -0.347972902  -0.87562763         0.0479799013         1.9779093        -0.3018662  -0.72337014
Bleach1:Months4    -0.068075053                0.054006786  -4.43921048        -0.0004306646         1.1879232        -3.8654491  -0.82289352
Bleach1:Months5    -0.021133363                0.010704503   0.09924784         0.0012695431        -0.1408971         0.6730092  -0.49126077
Bleach1:Months6     0.007032930               -0.247099692   0.24681577        -0.0243685792        -1.1041745         0.8205772   0.07789076
Bleach1:Months7     0.065143921                0.076166670   2.01165117         0.0481323390         0.7083978         2.5854126   1.14131808

$coef.sites
                           1            2             3            4            5            6             7            8            9           10           11
(Intercept)      0.143415272  0.143974600  0.1747636058  0.187562403  0.155498254  0.826012957  0.1895229600  0.216010875  0.165661019  0.171447942  0.181428177
Bleach1         -0.007270431 -0.009098197 -0.0092857099 -0.008901864 -0.011471053  0.007185291 -0.0097564286 -0.013948692 -0.012475126 -0.012387910 -0.009644987
Months1          0.032515712  0.037686145  0.0262572593  0.017257889  0.054887921  0.001411617  0.0294103442  0.027331769  0.038091786  0.047738803  0.031450102
Months2         -0.011224265 -0.023060920 -0.0355850097 -0.036535824 -0.039601767 -0.041277873 -0.0232049447 -0.048702360 -0.044088943 -0.052577463 -0.036547313
Months3          0.006589840 -0.002530762  0.0262903435  0.026746628  0.002513300  0.007022679  0.0103492863 -0.009051354 -0.007812236  0.004207399  0.019083270
Months4          0.028924330  0.025771331  0.0410611256  0.043272643  0.017252090  0.037997467  0.0435181294  0.035662185  0.025758722  0.021266136  0.039500632
Months5         -0.047955897 -0.053603191 -0.0536968612 -0.052991149 -0.056431133  0.008275896 -0.0438239832 -0.040742959 -0.049065942 -0.054022961 -0.043957819
                          12           13           14           15           16           17           18           19           20           21            22
(Intercept)      0.160560665  0.148906160  0.242550320  0.142385511  0.186365026  0.173839734  0.185847117  0.224895406  0.145722945  0.187094211  0.1658118849
Bleach1         -0.011742749 -0.006885517 -0.011708894 -0.006963200 -0.010727048 -0.013193845 -0.012526580 -0.004282591 -0.008664516 -0.011422749 -0.0088076047
Months1          0.057036120  0.048479110  0.046107294  0.006481671  0.031208988  0.033863395  0.035637239  0.021334305  0.011021911 -0.027402912  0.0102009630
Months2         -0.043443612  0.031968156 -0.055307839  0.006334686 -0.014488157 -0.049978533 -0.056317391  0.085696373  0.034633650 -0.012452368  0.0061974995
Months3          0.003856844 -0.005213151  0.019923202 -0.020582060 -0.030434929 -0.004220442  0.006564531 -0.033175785 -0.043968236 -0.024341614 -0.0177818234
Months4          0.015216062 -0.004797848  0.023689004  0.038309141  0.013819216  0.032707762  0.030670256 -0.016784807  0.022152949  0.067237886  0.0482275614
Months5         -0.054875470 -0.032647763 -0.046739302 -0.033954781 -0.032415478 -0.047073037 -0.052172397  0.001240707 -0.025272779 -0.024901204 -0.0295539963
                          23           24           25           26           27            28           29           30           31           32           33
(Intercept)      0.182463666  0.141313780  0.192339058  0.139932793  0.156178721  0.1427005334  0.228258252  0.200718402  0.200498756  0.336372531  0.161680467
Bleach1         -0.013438251 -0.008371790 -0.014183194 -0.007285381 -0.010717160 -0.0072721572 -0.006230706 -0.013776695 -0.009880892  0.002452707 -0.011421276
Months1          0.034996264  0.035062486  0.022766892  0.035353440  0.027169277  0.0119515293 -0.005776120  0.002890720 -0.007054183  0.030283774  0.016875772
Months2         -0.030042692  0.038397881 -0.032546049  0.023649816  0.014224292  0.0348532744  0.085778761 -0.037413192  0.067562510  0.087394526  0.023447186
Months3         -0.026756283 -0.034873914 -0.031154159 -0.026658859 -0.042478012 -0.0292158515 -0.049125871 -0.031920713 -0.051574584 -0.013568302 -0.049852191
Months4          0.023507915  0.005134536  0.029017226  0.015719569  0.012541531  0.0266936329 -0.002968827  0.037411268  0.022085504 -0.066564804  0.009973895
Months5         -0.037044524 -0.026915062 -0.035572364 -0.032087221 -0.028013341 -0.0241581403  0.007126289 -0.033011666 -0.004431346  0.006077281 -0.022514051
                          34           35           36            37           38            39           40           41           42           43           44
(Intercept)      0.154150010  0.151185896  0.153097727  0.2289204959  0.195704431  0.2234175483  0.154396911  0.147986297  0.171233422  0.145256192  0.173401715
Bleach1         -0.007431760 -0.010480724 -0.008116939  0.0004535017 -0.003602946 -0.0009426914 -0.003539756 -0.010356008 -0.003438787 -0.008363526 -0.011705069
Months1          0.022524655  0.026483962  0.005400178  0.0593920269  0.066076971  0.0470962979  0.039604953  0.052921406  0.052942451  0.066019198  0.063715555
Months2          0.053164587  0.037253911  0.028646660  0.0601558563  0.049175821  0.0778204480  0.057015962 -0.005170942  0.060516327  0.029426393 -0.044217762
Months3         -0.038452697 -0.044066865 -0.041591455  0.0008973794 -0.004369298  0.0045899924 -0.003257318 -0.018264564 -0.008849597 -0.010000091  0.005385315
Months4         -0.010253013  0.003266244  0.025965091 -0.0863531736 -0.074471026 -0.0659239829 -0.030600408  0.005136652 -0.054361591 -0.026389028  0.006174442
Months5         -0.017612364 -0.024544005 -0.027352815 -0.0154659076 -0.015261087 -0.0099547588 -0.023719325 -0.041706598 -0.016680624 -0.038712969 -0.054198375
                          45           46           47           48            49            50           51            52           53            54           55
(Intercept)      0.388528079  0.279783727  0.163740129  0.249570543  0.1397520100  1.758175e-01  0.167420983  0.2050325982  0.155821852  0.1937002514  0.144161816
Bleach1         -0.012991123  0.003781656 -0.006884324  0.003176204 -0.0074575915 -2.955900e-03 -0.003092993 -0.0018497524 -0.006785054 -0.0002356124 -0.004657518
Months1          0.005687773  0.041849276  0.050074843  0.046884695  0.0339847207  6.370532e-02  0.052241207  0.0655508962  0.068240387  0.0437145456  0.045417420
Months2         -0.044267359  0.067912751  0.046879484  0.070100752 -0.0100766934  5.534527e-02  0.060260759  0.0553859444  0.039876731  0.0723506139  0.053971539
Months3         -0.008873688  0.007032882 -0.002833501  0.008101709 -0.0005939787 -3.025766e-07  0.002905119  0.0008605968 -0.007280404  0.0044514120 -0.012970216
Months4          0.010858859 -0.083219936 -0.018188707 -0.083803267  0.0270336327 -5.850886e-02 -0.041225167 -0.0821976658 -0.045187098 -0.0607757450 -0.023538732
Months5         -0.024426502 -0.009760395 -0.026071886 -0.011203760 -0.0472452630 -2.577927e-02 -0.024026870 -0.0174721741 -0.033206811 -0.0103797189 -0.026274548
                           56            57            58           59            60           61           62            63            64           65
(Intercept)      1.518644e-01  0.1351243122  0.1653520622  0.171180439  0.1937270064  0.153436631  0.142547938  0.1948234662  0.1481496972  0.195367370
Bleach1         -8.733952e-03 -0.0064868772 -0.0054471348 -0.011546745 -0.0090300449 -0.009466828 -0.008658012 -0.0015758310 -0.0083014178 -0.007641661
Months1          2.986443e-02  0.0407210775  0.0454126807  0.035624528  0.0246553744  0.063369757  0.047665287  0.0479785505  0.0365419156  0.040547856
Months2         -2.561919e-02  0.0241907709  0.0586929222 -0.043422466 -0.0443719828 -0.013152384 -0.019153650  0.0742673576 -0.0264378547  0.047354194
Months3          1.260039e-02 -0.0076366335 -0.0051271707  0.010547879  0.0193945997 -0.003528120 -0.001522136  0.0060834668  0.0092734801 -0.018667834
Months4          3.606563e-02  0.0122761294 -0.0207288632  0.037288446  0.0421417081 -0.005257049  0.017616629 -0.0598364702  0.0326663975  0.004634243
Months5         -5.284860e-02 -0.0387421569 -0.0266158000 -0.055742543 -0.0559849207 -0.050513435 -0.053502242 -0.0128795037 -0.0539130327 -0.030291521
                           66            67            68           69           70           71           72           73           74           75           76
(Intercept)      0.1897240421  0.1522646904  0.1454052288  0.180343411  0.133496007  0.171413518  0.140330691  0.148645717  0.146124564  0.158685264  0.138742216
Bleach1         -0.0080432145 -0.0120424554 -0.0059897115 -0.013082041 -0.007297994 -0.013125364 -0.007680872 -0.006488933 -0.006665453 -0.004885224 -0.008336842
Months1          0.0211964697  0.0397221582  0.0489417363  0.025321341  0.045786089  0.034465069  0.058875606  0.025162912  0.031775047  0.037396093  0.033644617
Months2         -0.0365567374 -0.0314311623  0.0378497668 -0.045007985  0.012354321 -0.039027489  0.028351136  0.061115204  0.055295677  0.064683349  0.037434243
Months3          0.0277449931 -0.0085405545 -0.0038435267 -0.002044979 -0.014326270 -0.018453125 -0.011822561 -0.025416297 -0.030792296 -0.009203112 -0.035117248
Months4          0.0358734221  0.0269940374 -0.0105200567  0.042135260  0.010772469  0.029873025 -0.016563215 -0.002584284 -0.008157834 -0.020695650  0.007840745
Months5         -0.0574948569 -0.0504657152 -0.0401211507 -0.048756815 -0.044827189 -0.044084479 -0.043933543 -0.014198732 -0.018933443 -0.016740283 -0.028784256
                          77            78            79           80           81            82            83           84           85           86            87
(Intercept)      0.134115472  0.1423513812  0.1364923757  0.340126446  0.158171212  0.1922717706  0.1634429593  0.156028655  0.147945899  0.187376053  0.1595581926
Bleach1         -0.006950772 -0.0102025389 -0.0071303324 -0.001785590 -0.002562047 -0.0088504753 -0.0120401659 -0.007914539 -0.005768758 -0.004752466 -0.0022176414
Months1          0.037999257  0.0386515769  0.0254052960  0.046970570  0.051062961  0.0138073264  0.0334753423  0.019675502  0.049399388  0.058702557  0.0473076292
Months2          0.036330921  0.0223719300  0.0322888528  0.088897707  0.059471674  0.0497186590 -0.0387836712  0.023708879  0.051890065  0.052808581  0.0633381628
Months3         -0.018637763 -0.0356800546 -0.0233590733 -0.014534093 -0.001300150 -0.0419052813 -0.0005013061 -0.018145095 -0.018008370 -0.011960217  0.0004774617
Months4          0.006382668  0.0085109425  0.0231957362 -0.045295530 -0.039838577  0.0318596521  0.0380678877  0.035560011 -0.023875798 -0.061443351 -0.0412146346
Months5         -0.031405488 -0.0321896359 -0.0291151657  0.006271681 -0.019323033 -0.0151292936 -0.0497837511 -0.028749589 -0.022828599 -0.010777395 -0.0189363365
                          88            89           90           91           92           93           94           95           96           97           98
(Intercept)      0.141661530  0.1604645126  0.145296863  0.137427273  0.136090002  0.181807696  0.880911396  0.214520529  0.170654609  0.212294349  0.151586615
Bleach1         -0.005712283 -0.0031085865 -0.007310948 -0.007266042 -0.007385246 -0.003037728  0.009435480  0.001159121 -0.003234707 -0.003196141 -0.005284365
Months1          0.051086269  0.0439635153  0.029135622  0.058796109  0.031727770  0.056988906 -0.002853709  0.047594790  0.063810194  0.047418918  0.054708485
Months2          0.046671629  0.0607833293 -0.006882116  0.029904192  0.002697875  0.056487175 -0.026819846  0.071073322  0.055833219  0.074606229  0.052364721
Months3         -0.014508043  0.0006143244  0.004760298 -0.011553381 -0.014942043 -0.001140631  0.009462487  0.006442503 -0.000387974 -0.002795959 -0.013730911
Months4         -0.021972227 -0.0370908071  0.028771802 -0.014420678  0.025755239 -0.066036572  0.029929498 -0.071198461 -0.061944958 -0.044572589 -0.036829322
Months5         -0.030913877 -0.0227866515 -0.045945761 -0.041679096 -0.042048274 -0.023066931  0.011633149 -0.007882153 -0.023666950 -0.012138510 -0.023463665
                           99          100          101          102          103           104          105           106          107           108          109
(Intercept)      1.474973e-01  0.174227251  0.218332979  0.200361901  0.215598602  0.1429487897  0.177750741  0.1763385077  0.202539472  0.1383092767  0.158301655
Bleach1         -1.021457e-02 -0.004728805 -0.012939638 -0.002883405 -0.007453595 -0.0068697038 -0.009111817 -0.0088405178 -0.010306687 -0.0070672504 -0.006951178
Months1          4.297179e-02  0.064158604  0.042670592  0.065068705  0.014780557  0.0351658775  0.022160545  0.0324756748  0.018791016  0.0344886594  0.042922358
Months2          2.790125e-02  0.047305008 -0.055018339  0.049808593 -0.041447748  0.0056482063 -0.034085590 -0.0350902279 -0.030207549  0.0171452955  0.053943437
Months3         -2.937108e-02 -0.006234560  0.008368004 -0.004341471  0.033688081  0.0001977113  0.020148717  0.0300578195  0.015960690 -0.0064868555 -0.010292018
Months4         -8.410555e-03 -0.058669324  0.027269267 -0.075813343  0.042854585  0.0232621137  0.046770610  0.0370572954  0.054634081  0.0210241949 -0.007925930
Months5         -2.912285e-02 -0.021005678 -0.049549880 -0.015863060 -0.051863845 -0.0385404555 -0.047972104 -0.0553922843 -0.044927580 -0.0364274966 -0.022180171
                          110          111           112          113          114          115          116           117           118           119          120
(Intercept)      0.2676370032  0.190199220  1.587500e-01  0.159460006  0.191275606  0.190916652  0.192752127  0.2054067404  0.3652511438  0.2434098598  0.233599391
Bleach1         -0.0105757794 -0.012416199 -7.967830e-03 -0.009742940 -0.014296806 -0.004770733 -0.008289545 -0.0090393785  0.0013860657 -0.0003108801 -0.010443487
Months1         -0.0132600805 -0.014970876  2.548737e-02  0.019865217  0.017207166  0.027982876 -0.017612735  0.0046825788 -0.0046867311  0.0081457172 -0.040439650
Months2         -0.0283552915 -0.017327956  4.306342e-02 -0.019831674 -0.044382289  0.061914359  0.003466190 -0.0386409891  0.0645715067  0.0809559646  0.010753817
Months3          0.0102630804 -0.011948447 -2.779748e-02  0.003973393 -0.011390866 -0.031120610 -0.023595812  0.0155100876 -0.0236046646 -0.0158148257 -0.041728653
Months4          0.0661820931  0.069410621  2.358672e-02  0.050019735  0.043570031 -0.044852761  0.048397463  0.0532715293 -0.0475316090 -0.0465487877  0.066678396
Months5         -0.0283940604 -0.028828329 -2.045225e-02 -0.041882581 -0.042254987 -0.005770272 -0.025717108 -0.0457631968  0.0031185808  0.0064127036 -0.015586649
                         121          122           123          124          125          126          127          128          129          130          131
(Intercept)      0.157334564  0.244900419  0.1788629893  0.187852247  0.217134817  0.186363257  0.220490798  0.168176787  0.168347477  0.178808485  0.367644154
Bleach1         -0.009282680 -0.001495811 -0.0102661936 -0.009134805 -0.009884736 -0.010349124 -0.007866526 -0.009285452 -0.009356338 -0.003922402 -0.008604222
Months1         -0.003509105  0.016616001 -0.0192795847 -0.031176664 -0.026808949 -0.016231590 -0.017145151 -0.013473525  0.007484051 -0.003693568 -0.032402089
Months2          0.011321853  0.023218331  0.0212308375 -0.002075031  0.051716498 -0.019104641  0.062901212 -0.007750241  0.016269766  0.076781048  0.037916282
Months3         -0.040491595  0.004204989 -0.0260626263 -0.021639861 -0.050567910 -0.023039415 -0.039464755 -0.019694734 -0.018698690 -0.032726062 -0.046200075
Months4          0.032214126 -0.009124236  0.0388100388  0.057645668  0.037959585  0.051327496  0.010254830  0.053076402  0.041044726 -0.017920440  0.046915607
Months5         -0.028522929 -0.021020309 -0.0205526207 -0.025018975 -0.005464834 -0.035486873  0.001020385 -0.032141032 -0.028085150  0.001460095 -0.001716087
                         132          133          134
(Intercept)      0.194771422  0.267799395  0.230837067
Bleach1         -0.010848423 -0.009320292 -0.010524550
Months1         -0.033369161 -0.024715651 -0.041307081
Months2         -0.018694138 -0.008879206 -0.021497303
Months3         -0.015918964 -0.012704357 -0.005636867
Months4          0.069585944  0.051738987  0.073161441
Months5         -0.025830171 -0.025813886 -0.024825794
 [ reached getOption("max.print") -- omitted 9 rows ]

$f.perms
                  [,1]      [,2]      [,3]
    [1,]  0.8203163313 1.2224424 0.5166757
    [2,]  1.0047472156 1.1054645 1.0152269
    [3,]  1.1924792366 0.7464770 1.2389838
    [4,]  0.5277109886 1.8424612 2.0265697
    [5,]  0.5168676548 0.8863873 1.1574783
    [6,]  0.2109609178 1.0632915 0.8734477
    [7,]  0.8786852078 1.0037024 0.6193805
    [8,]  0.7699045638 0.8770819 1.0561936
    [9,]  1.1904820022 0.8081282 1.0683790
   [10,]  0.0165912027 0.9020802 1.0215138
   [11,]  0.6862364445 1.4487745 0.9643295
   [12,]  1.7125850792 0.5625855 1.2154580
   [13,]  0.8531635371 1.1136423 1.2154797
   [14,]  1.0961516316 1.2901848 1.0276303
   [15,]  0.7284360061 1.0306264 0.9226654
   [16,]  0.6802437622 1.4655930 0.8542111
   [17,] -0.0085740960 0.9850171 0.4497395
   [18,]  1.3441793194 0.9321463 1.2901553
   [19,] -0.0744321067 0.5090913 0.9627853
   [20,]  0.1986603966 1.3053949 0.8570691
   [21,]  0.9557695099 1.1857564 0.6495181
   [22,]  2.4048508532 1.4358968 1.0676954
   [23,]  1.2687271974 0.8761167 0.8809741
   [24,]  1.3947636929 0.6381210 0.7018975
   [25,]  0.7404791834 1.0859691 0.9272242
   [26,]  0.0413543715 0.8908782 1.1451123
   [27,]  0.2488460963 0.6769399 0.7818084
   [28,]  1.5078686052 1.0388839 0.8269814
   [29,]  1.2195907340 1.2953508 0.9081362
   [30,]  0.6130710017 0.6672758 1.0146088
   [31,]  0.6069297442 1.4730364 0.8923881
   [32,]  0.3911038136 0.8196672 0.5136711
   [33,]  0.2140514023 1.1760828 0.8657177
   [34,]  0.3424095282 0.9448484 0.7614054
   [35,]  0.6107659475 1.1025941 0.9969672
   [36,]  0.7953021122 0.6492127 1.1967550
   [37,]  1.4611631478 1.0318362 0.9277964
   [38,]  0.8784486462 0.7801355 0.5600080
   [39,]  0.1464128032 0.6482112 1.4935743
   [40,]  1.5738387796 0.7871666 0.4282966
   [41,]  0.9926492066 0.9949298 0.9731018
   [42,]  0.2467377215 1.0749880 0.7041948
   [43,]  1.4457318872 1.4458524 1.4291671
   [44,]  1.0101297103 0.6736573 0.6978617
   [45,]  1.3944825970 1.0587670 1.5950262
   [46,]  0.4621516255 0.7535506 0.8961950
   [47,]  0.5975043966 0.5675834 1.1199912
   [48,]  2.0761345085 1.0290908 0.7775621
   [49,]  1.4860945902 1.1736236 0.5673696
   [50,]  0.5285156018 0.9266098 1.3558576
   [51,]  0.0932682547 1.5119033 1.2771371
   [52,]  2.5738056718 0.7346091 0.7925224
   [53,]  1.1960355335 0.5169702 0.8165894
   [54,]  0.4340133382 0.8925604 0.7859671
   [55,]  0.6239261659 0.7318085 0.7528844
   [56,]  1.8764254498 1.0596750 1.2760423
   [57,]  1.3932072942 0.6517108 0.9535499
   [58,]  0.1494986053 1.5657554 0.2573448
   [59,]  0.5684206097 1.1857771 0.9418992
   [60,]  1.0285029825 0.8341479 0.6243876
   [61,]  1.2718408342 0.7573198 0.5126670
   [62,]  0.5402530062 1.0534247 0.7289926
   [63,]  0.3251465015 0.8306262 1.2122819
   [64,]  1.4233904699 1.0607746 1.1169800
   [65,]  1.2862274978 0.7268388 1.0879219
   [66,]  0.2032577614 1.0606645 1.3823888
   [67,]  0.1468379436 0.6664223 0.9365588
   [68,]  0.2353490191 0.6754211 0.9381749
   [69,]  1.0085186560 0.9663404 0.9831211
   [70,]  0.1899066969 0.7927742 0.8937054
   [71,]  1.1387579308 0.8427491 0.9855615
   [72,]  0.3708505945 1.2785459 1.0041292
   [73,]  1.7142074233 0.8299159 0.9554501
   [74,]  1.9078733726 1.5316125 0.8366541
   [75,]  1.6431651401 1.3290505 1.2689135
   [76,]  0.5051666438 0.9854784 1.0353711
   [77,]  2.1449016410 0.8271158 0.5866363
   [78,]  1.3967013939 0.9500727 1.0647924
   [79,]  0.7494397670 0.7316256 0.6768399
   [80,]  0.3762742363 1.0281874 1.0949400
   [81,]  1.6878276373 0.6049076 1.0162634
   [82,]  1.1617396539 1.1376321 0.7314102
   [83,]  1.4150142805 0.7611277 1.0997304
   [84,]  0.4658207913 0.8228843 1.0262517
   [85,]  0.9203390691 1.2002719 1.0579500
   [86,] -0.1690849650 1.4247742 0.4321966
   [87,]  0.3542281561 1.0436396 0.8800033
   [88,]  4.7376727155 0.7415697 0.8941556
   [89,]  0.3712811941 0.9140998 0.9058066
   [90,]  0.4789472057 0.9351598 1.0579333
   [91,]  0.8599330549 1.2627233 0.8973003
   [92,]  0.6630169736 1.2926199 0.9333613
   [93,]  1.5799367413 0.6134359 1.0299217
   [94,]  0.8619897379 0.7141072 1.5828470
   [95,]  2.0547061397 0.9055819 1.0315764
   [96,]  1.7487257530 1.1780725 0.5468067
   [97,]  1.8294236521 0.8221799 1.1590970
   [98,]  0.4201063280 1.2046299 1.1166981
   [99,]  0.0234860269 1.0001012 1.5163873
  [100,]  0.4113478933 0.5512401 0.8671914
  [101,]  0.3631969048 1.2967224 1.4971730
  [102,]  0.8024345197 0.8820250 1.3212967
  [103,]  0.6097755705 0.6984301 1.5446629
  [104,]  1.1319112197 1.1428095 1.5705660
  [105,]  1.0409147238 1.9752726 1.2555126
  [106,]  0.0526593890 0.6623981 1.0859595
  [107,]  0.8429134980 0.9840321 1.3223455
  [108,]  0.1861250880 0.9962205 0.9610069
  [109,]  1.0063484880 0.9499511 0.9326142
  [110,]  0.7932906766 1.2286495 1.0545464
  [111,]  1.2697293296 1.1203773 1.0544195
  [112,]  1.0119303041 0.8497714 0.7380076
  [113,]  1.1374888555 0.7978150 0.7403414
  [114,]  0.8299038220 0.9878547 1.2806570
  [115,]  0.0278511181 0.8579761 0.6993527
  [116,]  0.2382402953 0.8198327 0.9288783
  [117,]  0.3489933453 1.0200397 0.8656601
  [118,]  1.1115224059 1.0040319 0.8243840
  [119,]  1.5558586469 1.2909255 0.9578751
  [120,]  0.4437572088 0.9813377 1.1150569
  [121,]  0.8161264271 0.7858486 0.9655720
  [122,]  0.8066605155 0.7660489 0.4709843
  [123,]  0.1585657060 0.9975701 1.2093066
  [124,]  0.1965563592 1.0109160 1.3838314
  [125,]  0.1566165565 1.2998724 1.3412970
  [126,]  0.1559691920 1.2911451 1.0878555
  [127,]  0.6219887062 0.7335132 0.9934277
  [128,]  0.4562746330 1.5504194 1.4483171
  [129,]  0.8186048731 0.7196530 1.3861033
  [130,]  2.2105640107 0.6732745 0.9382440
  [131,]  0.8699606504 1.3943302 0.5742061
  [132,]  0.4062519458 1.1898839 1.2362839
  [133,]  2.0938465193 1.6909106 1.2622559
  [134,]  0.3347050307 1.0217435 0.9420839
  [135,]  2.4119313616 1.3900584 1.6298553
  [136,]  0.1766389815 1.0131942 0.9372995
  [137,]  0.4287274764 0.9300953 0.9828048
  [138,]  0.7687941307 1.0516430 0.8217758
  [139,]  1.1392047568 1.4378470 1.2728493
  [140,]  0.1742521925 1.4276143 1.1213596
  [141,]  0.3524410872 1.3843100 1.0678590
  [142,]  1.3571571775 0.9756722 0.7881998
  [143,]  1.5076902242 0.7274646 0.7106316
  [144,]  0.7291005239 1.3238750 0.7045650
  [145,]  1.6737873323 1.0299510 0.7842022
  [146,]  1.4788730793 1.2528956 1.1883006
  [147,]  2.9959057287 0.6551025 1.1929856
  [148,]  3.0167784343 1.1160889 1.0446067
  [149,]  0.0475831676 1.0104551 0.8214700
  [150,]  2.3421149873 0.9511079 1.3057270
  [151,]  1.2651892321 0.9362979 0.9412558
  [152,]  0.2588207139 0.9135478 0.9171062
  [153,]  0.8772507749 1.0023970 0.8565593
  [154,]  0.2523333818 0.9153225 1.0017761
  [155,]  0.7923933424 0.7816035 1.0902256
  [156,]  0.8093646013 1.1895848 0.8529394
  [157,]  0.0173017194 0.7944248 0.6790745
  [158,]  1.2995406821 0.6998135 1.0298570
  [159,]  2.6756371079 0.7467849 0.6757335
  [160,]  1.3210855544 1.0417339 1.0443175
  [161,]  0.8583777293 0.7534789 0.8131577
  [162,]  0.7689971254 0.9008098 0.6954497
  [163,]  0.1933781773 1.2465135 1.2588498
  [164,]  0.8137926010 0.5592021 0.6740301
  [165,]  2.2706258838 0.9497357 1.2870687
  [166,]  1.0887784181 1.0993572 0.7604207
  [167,]  0.5101072661 1.0132813 1.2327701
  [168,]  1.3522305752 1.0171758 0.8828411
  [169,]  0.6228431504 0.9786157 1.0156819
  [170,]  0.9171784422 0.5862561 0.7846244
  [171,]  0.3581102293 1.9890537 1.4140756
  [172,]  1.2342676711 0.9059722 1.1101091
  [173,]  2.3368403980 1.0032489 0.7945030
  [174,]  0.2163495915 1.0021542 1.5152251
  [175,]  0.5719187896 0.7626133 0.4076421
  [176,]  1.3237350940 1.3991432 1.0014613
  [177,]  0.9643471286 1.1750816 0.5498475
  [178,]  0.2468207757 0.4622806 0.9861318
  [179,]  1.0834942864 0.6957781 0.6779190
  [180,]  1.7093570242 1.0825238 1.1143300
  [181,]  1.5228132028 0.8359382 0.6900032
  [182,]  0.8790493081 0.9831376 0.9629848
  [183,]  2.4352582110 1.3058436 0.7079138
  [184,]  0.7768855459 1.2571089 0.7263910
  [185,]  0.2438184150 1.5024157 0.9270089
  [186,]  1.2022139885 1.5285478 1.0395958
  [187,]  0.3163209626 0.7600630 0.9116461
  [188,]  0.6363497473 0.8552696 1.4086663
  [189,] -0.0940691842 0.9613853 0.6830546
  [190,]  0.8261986353 1.4287992 0.6310124
  [191,]  0.8286453657 0.5958106 0.6052458
  [192,]  1.4391676307 0.6300058 1.1451281
  [193,]  0.0832406691 0.7745085 0.9677553
  [194,]  1.3534753328 1.0497275 1.0944980
  [195,]  1.4610936380 0.6060614 0.9538243
  [196,]  2.7736037038 0.7263079 0.7613543
  [197,]  0.9266932652 0.6621170 1.0116955
  [198,]  0.6782001573 1.1982817 1.3405878
  [199,]  0.7278452755 1.1072897 1.5503432
  [200,]  1.4057976785 1.0661749 1.1061077
  [201,]  2.4419508566 0.9978945 1.0896496
  [202,]  1.7246030971 0.8664659 0.8844677
  [203,]  1.3992932528 1.8385933 1.4047857
  [204,]  0.9086398609 0.9928240 1.4351789
  [205,]  0.3521951501 0.6760973 1.0226634
  [206,]  2.3599488419 0.9377734 0.7000950
  [207,]  0.4157822574 0.9154733 1.0275365
  [208,]  0.9116270056 0.8488302 1.0057992
  [209,]  1.0667478181 0.9412318 0.8056974
  [210,] -0.0258659201 1.1364995 0.9922408
  [211,]  1.5007403635 0.9422955 0.7922278
  [212,]  0.7397537006 1.0304036 1.0556614
  [213,]  0.5939247559 0.6812818 0.8511529
  [214,]  0.7332379696 0.7113773 1.0314888
  [215,]  0.8948296341 0.7994133 0.8580527
  [216,]  0.1931412949 0.8785835 0.9661729
  [217,]  0.9954281332 1.4848782 0.9308404
  [218,]  1.9290707932 1.1780531 1.0645611
  [219,]  0.8689899322 1.2013303 0.4418495
  [220,]  1.3320721237 0.8822500 1.0658621
  [221,]  0.3909052016 0.8448367 0.7669075
  [222,]  1.6010299858 0.8060332 1.2922285
  [223,]  0.1867497007 0.8529514 1.0770596
  [224,]  2.4873885086 1.3575382 1.4668288
  [225,]  1.0920338306 0.8571329 1.2052192
  [226,]  1.0338397669 1.2986796 1.0608942
  [227,]  1.2384847600 0.8985667 0.9399026
  [228,]  1.0941709812 0.8826582 1.0305047
  [229,]  1.1232899578 0.8988907 0.5574315
  [230,]  0.9905074185 1.1265256 1.2351581
  [231,]  1.1834352317 0.8225555 0.8866787
  [232,]  0.3471883061 0.7762697 1.3530211
  [233,]  0.4154948419 0.9732803 0.7185646
  [234,]  1.3126383057 1.0322439 1.1080824
  [235,]  0.5048669596 0.6024866 0.9913120
  [236,]  0.5541699718 0.9535838 0.7801490
  [237,]  1.4737939880 1.0382573 1.1201448
  [238,]  0.2589905146 1.0167347 0.7976945
  [239,]  0.1465818137 1.5457320 0.5517120
  [240,]  1.1598441413 0.6869919 0.7888790
  [241,]  0.4701744653 0.8784352 0.9336546
  [242,]  0.8794211888 0.7840671 0.7267768
  [243,]  3.3196622893 0.6954792 0.9515357
  [244,]  1.5981104256 1.1696895 1.6534356
  [245,]  0.7948935757 0.6720091 0.9461148
  [246,]  3.4021210225 1.4463869 0.7454375
  [247,]  1.1634834378 0.7057810 0.9562009
  [248,]  0.8234564112 0.9358819 0.9147473
  [249,]  3.1233225809 1.0494257 1.0109184
  [250,]  0.5801488423 1.3957541 0.7770132
  [251,]  1.4542582418 0.9174745 1.0613594
  [252,]  0.9506971187 1.1898015 0.9765897
  [253,]  1.3647380696 0.7591765 1.0001409
  [254,]  2.2174881638 0.8208483 1.1070598
  [255,]  0.4695012609 1.3032361 1.0962814
  [256,]  1.0960058455 1.0575517 0.7085621
  [257,]  1.6422476182 1.2533772 0.7824459
  [258,]  0.3600209359 0.8069392 1.0932405
  [259,]  0.2430000439 1.1207837 1.5838102
  [260,]  1.2697662728 1.1983350 1.1434338
  [261,]  0.5301943128 1.0936972 0.8852202
  [262,]  0.4698318155 1.0981273 0.7776010
  [263,]  1.8609800730 0.9570613 0.9631925
  [264,]  1.3772116330 1.1826249 1.1948397
  [265,]  0.3828203906 1.5513556 1.7565027
  [266,]  1.4243184019 0.9049825 0.8325656
  [267,]  1.0707193015 0.8683536 0.9425915
  [268,]  0.7373173593 0.9768423 1.1389128
  [269,]  0.1330659494 1.2884559 1.0604327
  [270,]  1.1869535484 0.7942008 0.9205236
  [271,]  0.0802777642 1.0895198 1.2193309
  [272,]  1.0508403254 1.0189060 0.5544736
  [273,]  1.5677809927 1.4665497 0.9291901
  [274,]  0.6410307922 0.9119278 1.1188765
  [275,]  1.9768016346 0.9639034 0.6574226
  [276,]  3.4538558734 1.6941004 1.4281572
  [277,]  0.4326027086 0.7953091 1.3121507
  [278,]  0.2348820632 0.7176688 1.0099313
  [279,]  1.5217336198 1.7844457 0.8877096
  [280,]  0.1349753286 0.4749218 0.8502372
  [281,]  1.0008725151 0.7455790 0.7749107
  [282,]  0.7148759597 0.8409594 0.8176921
  [283,]  0.4795914874 0.9449842 0.9870568
  [284,]  0.3123816933 0.9731055 1.1545142
  [285,]  0.6008516081 1.4034447 0.5481770
  [286,]  0.7554468264 1.5995914 1.3457539
  [287,]  0.5353969993 0.8336640 0.6348469
  [288,]  0.1155734517 0.7968340 0.7394196
  [289,]  0.1937235128 1.1482186 0.7221255
  [290,]  1.6230257938 0.9793055 2.2130926
  [291,]  0.8650927300 0.9303359 0.9346058
  [292,]  0.7113932277 1.0678338 0.7042027
  [293,]  1.2033660156 0.8297856 0.9582085
  [294,] -0.0027969324 1.0262609 0.8681980
  [295,]  0.0641554415 1.0658990 0.7570812
  [296,]  1.9996043924 0.5260666 0.9542580
  [297,]  0.8458598314 1.2325118 0.9225543
  [298,]  0.8771435709 0.9793808 0.6152738
  [299,]  1.8330409312 1.0103735 1.1275606
  [300,]  0.5160567413 1.3123603 0.9584948
  [301,]  0.9643460530 0.6834833 1.0212811
  [302,]  1.9051361417 0.7202998 0.8208726
  [303,]  0.8002450708 1.1160332 0.9548409
  [304,]  2.8526296407 1.0106770 0.7697626
  [305,]  0.7926077019 1.2384339 0.2235800
  [306,]  2.4808297628 1.0702016 0.7865719
  [307,]  1.6898722819 0.7763566 1.0780317
  [308,]  0.1206456612 0.7210747 1.1088523
  [309,]  0.3750418936 0.7718568 0.6722961
  [310,]  0.6214237955 1.3500443 1.5080532
  [311,]  0.0291849775 1.2038191 1.2632615
  [312,]  1.1758321792 0.9341728 0.6520794
  [313,]  0.4154951384 1.0622831 1.2668280
  [314,]  0.3781346580 1.0755100 1.2497409
  [315,]  0.3378931913 1.0072737 0.3369583
  [316,]  1.3310330326 0.9679176 0.9070138
  [317,]  0.3370777769 1.1011325 1.0777736
  [318,]  0.3207075973 1.3381196 0.9098232
  [319,]  0.1398897309 1.2084749 0.9670409
  [320,]  1.6389382661 1.0894651 0.7630211
  [321,]  1.0097503507 1.0052987 1.3641059
  [322,]  0.3529854425 1.3036231 0.7575702
  [323,]  0.3731991853 0.6984965 1.1113991
  [324,]  0.6480608416 0.9933208 1.0907704
  [325,]  0.4151018004 0.9786664 1.4513501
  [326,]  0.1615499706 0.9519803 0.9030657
  [327,]  0.3656604686 0.7957820 1.0073540
  [328,]  0.6676169050 0.9687906 0.8721180
  [329,]  0.4894650454 0.7471410 1.3316736
  [330,]  0.6948517165 1.2471345 0.8112373
  [331,]  0.1610315136 0.8659728 1.0739100
  [332,]  0.0029123565 0.8206561 0.7703789
  [333,] -0.1232232282 1.0923935 1.5091217
 [ reached getOption("max.print") -- omitted 9666 rows ]

$model.matrix
    (Intercept) Bleach1 Months1 Months2 Months3 Months4 Months5 Months6 Months7 Bleach1:Months1 Bleach1:Months2 Bleach1:Months3 Bleach1:Months4 Bleach1:Months5
1             1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
2             1       1       0       1       0       0       0       0       0               0               1               0               0               0
3             1       1       0       1       0       0       0       0       0               0               1               0               0               0
4             1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
5             1       1       0       1       0       0       0       0       0               0               1               0               0               0
6             1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
7             1       1       0       1       0       0       0       0       0               0               1               0               0               0
8             1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
9             1       1       0       1       0       0       0       0       0               0               1               0               0               0
10            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
11            1       1       0       1       0       0       0       0       0               0               1               0               0               0
12            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
13            1       1       0       1       0       0       0       0       0               0               1               0               0               0
14            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
15            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
16            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
17            1       1       0       1       0       0       0       0       0               0               1               0               0               0
18            1      -1       0       1       0       0       0       0       0               0              -1               0               0               0
19            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
20            1       1       0       0       1       0       0       0       0               0               0               1               0               0
21            1       1       0       0       1       0       0       0       0               0               0               1               0               0
22            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
23            1       1       0       0       1       0       0       0       0               0               0               1               0               0
24            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
25            1       1       0       0       1       0       0       0       0               0               0               1               0               0
26            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
27            1       1       0       0       1       0       0       0       0               0               0               1               0               0
28            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
29            1       1       0       0       1       0       0       0       0               0               0               1               0               0
30            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
31            1       1       0       0       1       0       0       0       0               0               0               1               0               0
32            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
33            1       1       0       0       1       0       0       0       0               0               0               1               0               0
34            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
35            1       1       0       0       1       0       0       0       0               0               0               1               0               0
36            1      -1       0       0       1       0       0       0       0               0               0              -1               0               0
37            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
38            1       1       0       0       0       1       0       0       0               0               0               0               1               0
39            1       1       0       0       0       1       0       0       0               0               0               0               1               0
40            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
41            1       1       0       0       0       1       0       0       0               0               0               0               1               0
42            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
43            1       1       0       0       0       1       0       0       0               0               0               0               1               0
44            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
45            1       1       0       0       0       1       0       0       0               0               0               0               1               0
46            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
47            1       1       0       0       0       1       0       0       0               0               0               0               1               0
48            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
49            1       1       0       0       0       1       0       0       0               0               0               0               1               0
50            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
51            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
52            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
53            1       1       0       0       0       1       0       0       0               0               0               0               1               0
54            1      -1       0       0       0       1       0       0       0               0               0               0              -1               0
55            1      -1       0       0       0       0       1       0       0               0               0               0               0              -1
56            1       1       0       0       0       0       1       0       0               0               0               0               0               1
57            1       1       0       0       0       0       1       0       0               0               0               0               0               1
58            1      -1       0       0       0       0       1       0       0               0               0               0               0              -1
59            1       1       0       0       0       0       1       0       0               0               0               0               0               1
60            1      -1       0       0       0       0       1       0       0               0               0               0               0              -1
61            1       1       0       0       0       0       1       0       0               0               0               0               0               1
62            1      -1       0       0       0       0       1       0       0               0               0               0               0              -1
    Bleach1:Months6 Bleach1:Months7
1                 0               0
2                 0               0
3                 0               0
4                 0               0
5                 0               0
6                 0               0
7                 0               0
8                 0               0
9                 0               0
10                0               0
11                0               0
12                0               0
13                0               0
14                0               0
15                0               0
16                0               0
17                0               0
18                0               0
19                0               0
20                0               0
21                0               0
22                0               0
23                0               0
24                0               0
25                0               0
26                0               0
27                0               0
28                0               0
29                0               0
30                0               0
31                0               0
32                0               0
33                0               0
34                0               0
35                0               0
36                0               0
37                0               0
38                0               0
39                0               0
40                0               0
41                0               0
42                0               0
43                0               0
44                0               0
45                0               0
46                0               0
47                0               0
48                0               0
49                0               0
50                0               0
51                0               0
52                0               0
53                0               0
54                0               0
55                0               0
56                0               0
57                0               0
58                0               0
59                0               0
60                0               0
61                0               0
62                0               0
 [ reached getOption("max.print") -- omitted 72 rows ]

$terms
mdspor[, (7:13)] ~ Bleach * Months
attr(,"variables")
list(mdspor[, (7:13)], Bleach, Months)
attr(,"factors")
                 Bleach Months Bleach:Months
mdspor[, (7:13)]      0      0             0
Bleach                1      0             1
Months                0      1             1
attr(,"term.labels")
[1] "Bleach"        "Months"        "Bleach:Months"
attr(,"order")
[1] 1 1 2
attr(,"intercept")
[1] 1
attr(,"response")
[1] 1
attr(,".Environment")
<environment: R_GlobalEnv>

attr(,"class")
[1] "adonis"
library(pairwiseAdonis)
pairwise.adonis2(mdspor[,(7:13)] ~Months, data=mdspor, permutations = 9999, na.rm=T)
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
'adonis' will be deprecated: use 'adonis2' instead
$parent_call
[1] "mdspor[, (7:13)] ~ Months , strata = Null"

$`10_vs_13`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.15927 0.159273   5.178 0.13217  1e-04 ***
Residuals 34   1.04582 0.030759         0.86783           
Total     35   1.20509                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`10_vs_17`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.23959 0.239588  7.4378 0.17949  1e-04 ***
Residuals 34   1.09522 0.032212         0.82051           
Total     35   1.33481                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`10_vs_20`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.05841 0.058407  2.1402 0.05922 0.0191 *
Residuals 34   0.92785 0.027290         0.94078         
Total     35   0.98626                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`10_vs_24`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.18750 0.187497   6.211 0.17152  1e-04 ***
Residuals 30   0.90563 0.030188         0.82848           
Total     31   1.09313                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`10_vs_29`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.14954 0.149541  2.8868 0.08275 0.0095 **
Residuals 32   1.65768 0.051803         0.91725          
Total     33   1.80722                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`10_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)
Months     1   0.03927 0.039273  1.2559 0.04293 0.2626
Residuals 28   0.87559 0.031271         0.95707       
Total     29   0.91486                  1.00000       

$`10_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
Months     1    0.1621 0.16210  4.4435 0.10987  1e-04 ***
Residuals 36    1.3133 0.03648         0.89013           
Total     37    1.4754                 1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`13_vs_17`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.10838 0.108380   6.003 0.15006 0.0072 **
Residuals 34   0.61384 0.018054         0.84994          
Total     35   0.72222                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`13_vs_20`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.06488 0.064880  4.9408 0.12688 0.0143 *
Residuals 34   0.44648 0.013132         0.87312         
Total     35   0.51136                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`13_vs_24`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)
Months     1   0.02787 0.027871  1.9708 0.06164 0.1572
Residuals 30   0.42425 0.014142         0.93836       
Total     31   0.45212                  1.00000       

$`13_vs_29`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.06926 0.069264  1.8842 0.05561 0.0536 .
Residuals 32   1.17631 0.036760         0.94439         
Total     33   1.24557                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`13_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model     R2 Pr(>F)    
Months     1   0.11916 0.119156  8.4633 0.2321  5e-04 ***
Residuals 28   0.39421 0.014079         0.7679           
Total     29   0.51337                  1.0000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`13_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)
Months     1   0.03183 0.031827  1.3773 0.03685 0.2467
Residuals 36   0.83189 0.023108         0.96315       
Total     37   0.86371                  1.00000       

$`17_vs_20`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.09198 0.091982  6.3068 0.15647 0.0057 **
Residuals 34   0.49587 0.014585         0.84353          
Total     35   0.58786                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`17_vs_24`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.05867 0.058666  3.7157 0.11021 0.0319 *
Residuals 30   0.47365 0.015788         0.88979         
Total     31   0.53232                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`17_vs_29`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)
Months     1   0.03095 0.030950 0.80803 0.02463 0.6089
Residuals 32   1.22570 0.038303         0.97537       
Total     33   1.25665                  1.00000       

$`17_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.21502 0.215018  13.572 0.32646  2e-04 ***
Residuals 28   0.44361 0.015843         0.67354           
Total     29   0.65863                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`17_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.23063 0.23063  9.4212 0.20742  1e-04 ***
Residuals 36   0.88128 0.02448         0.79258           
Total     37   1.11192                 1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`20_vs_24`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model     R2 Pr(>F)   
Months     1   0.06691 0.066914  6.5541 0.1793 0.0049 **
Residuals 30   0.30629 0.010210         0.8207          
Total     31   0.37320                  1.0000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`20_vs_29`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.06759 0.067588  2.0436 0.06003 0.0265 *
Residuals 32   1.05834 0.033073         0.93997         
Total     33   1.12592                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`20_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)  
Months     1   0.04354 0.043538   4.413 0.13615 0.0156 *
Residuals 28   0.27625 0.009866         0.86385         
Total     29   0.31978                  1.00000         
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`20_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
Months     1   0.10132 0.101322  5.1093 0.12429  5e-04 ***
Residuals 36   0.71392 0.019831         0.87571           
Total     37   0.81524                  1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`24_vs_29`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)
Months     1   0.04044 0.040437  1.0928 0.03756 0.3432
Residuals 28   1.03611 0.037004         0.96244       
Total     29   1.07655                  1.00000       

$`24_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model     R2 Pr(>F)    
Months     1   0.12941 0.129408  12.226 0.3375  3e-04 ***
Residuals 24   0.25402 0.010584         0.6625           
Total     25   0.38343                  1.0000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`24_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.09915 0.099154  4.5872 0.12538 0.0043 **
Residuals 32   0.69170 0.021615         0.87462          
Total     33   0.79085                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`29_vs_35`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.15556 0.155562  4.0202 0.13392 0.0011 **
Residuals 26   1.00608 0.038695         0.86608          
Total     27   1.16164                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`29_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.14544 0.145443  3.4252 0.09152 0.0031 **
Residuals 34   1.44375 0.042463         0.90848          
Total     35   1.58919                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$`35_vs_0`
Permutation: free
Number of permutations: 9999

Terms added sequentially (first to last)

          Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)   
Months     1   0.08846 0.088464   4.011 0.11793 0.0052 **
Residuals 30   0.66166 0.022055         0.88207          
Total     31   0.75012                  1.00000          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

attr(,"class")
[1] "pwadstrata" "list"      
library(cowplot)
pcaillustrator<-cowplot::plot_grid(gmon,gpor,g, nrow=3,ncol=2, align="h", axis = "bt")
pcaillustrator

#STHS ##Temperature data

amb<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/STHS temperature profiles/AMB_21257937.csv")
mild<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/STHS temperature profiles/3C_21257935.csv")
mod<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/STHS temperature profiles/6C_21257936.csv")
ex<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/STHS temperature profiles/9C_20473299.csv")
amb<- plyr::rename(amb, c("ï..Date"="Date"))
amb$Date<-as.Date(amb$Date)
amb$Treatment<-as.factor(amb$Treatment)
amb
mild<- plyr::rename(mild, c("ï..Date"="Date"))
mild$Date<-as.Date(mild$Date)
mild$Treatment<-as.factor(mild$Treatment)
mild
mod<- plyr::rename(mod, c("ï..Date"="Date"))
mod$Date<-as.Date(mod$Date)
mod$Treatment<-as.factor(mod$Treatment)
mod
ex<- plyr::rename(ex, c("ï..Date"="Date"))
ex$Date<-as.Date(ex$Date)
ex$Treatment<-as.factor(ex$Treatment)
ex
alltemp<- merge(amb, mild, by=c("Date","Time","Temperature","Treatment"), all=T)
alltemp<- merge(alltemp, mod, by=c("Date","Time","Temperature","Treatment"), all=T)
alltemp<- merge(alltemp, ex, by=c("Date","Time","Temperature","Treatment"), all=T)
alltemp$Date_Time<- as.POSIXct(paste(alltemp$Date, alltemp$Time), "%Y-%m-%d hh:mm:ss")
Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'
alltemp$Treatment<-as.factor(alltemp$Treatment)
alltemp$hour <- as.POSIXlt(alltemp$Date_Time)$hour
Warning: unknown timezone '%Y-%m-%d hh:mm:ss'
alltemp
Warning in as.POSIXlt.POSIXct(x, tz) :
  unknown timezone '%Y-%m-%d hh:mm:ss'
unique(alltemp$hour)
 [1] 19 20 21 22 23  0  1 10 11 12 13 14 15 16 17 18  2  3  4  5  6  7  8  9
#write.csv(alltemp, "Short-term heat stress temperature data.csv")
tempsub<-filter(alltemp, Date == c("2022-09-01", "2022-09-02","2022-09-03"))
Warning: longer object length is not a multiple of shorter object lengthWarning in as.POSIXlt.POSIXct(x, tz) :
  unknown timezone '%Y-%m-%d hh:mm:ss'
tempsub
Warning in as.POSIXlt.POSIXct(x, tz) :
  unknown timezone '%Y-%m-%d hh:mm:ss'
tempsub_mean<-summarySE(tempsub, measurevar='Temperature', na.rm=TRUE, conf.interval = 0.95)
tempsub_mean
alltemp_mean<-summarySE(alltemp, measurevar='Temperature', groupvars=c('Treatment', "Date", "hour"), na.rm=TRUE, conf.interval = 0.95)
Warning: NaNs produced
alltemp_mean
sths.lm<- lm(Temperature~Treatment, data=alltemp_mean) #Gaussian
car::Anova(sths.lm)
Anova Table (Type II tests)

Response: Temperature
          Sum Sq  Df F value  Pr(>F)  
Treatment  13.07   3  3.0398 0.02907 *
Residuals 510.28 356                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(sths.lm, list(pairwise ~ Treatment), adjust = "tukey")
tukey3
$`emmeans of Treatment`
 Treatment emmean    SE  df lower.CL upper.CL
 AMB         28.1 0.126 356     27.9     28.4
 3C          28.4 0.126 356     28.1     28.6
 6C          28.6 0.126 356     28.3     28.8
 9C          28.6 0.126 356     28.4     28.9

Confidence level used: 0.95 

$`pairwise differences of Treatment`
 1        estimate    SE  df t.ratio p.value
 AMB - 3C  -0.2392 0.178 356  -1.340  0.5380
 AMB - 6C  -0.4133 0.178 356  -2.316  0.0963
 AMB - 9C  -0.4982 0.178 356  -2.792  0.0282
 3C - 6C   -0.1742 0.178 356  -0.976  0.7633
 3C - 9C   -0.2591 0.178 356  -1.452  0.4681
 6C - 9C   -0.0849 0.178 356  -0.476  0.9644

P value adjustment: tukey method for comparing a family of 4 estimates 
par(mfrow=c(2,3))
plot(sths.lm, ask=FALSE, which=1:6)

lims <- as.POSIXct(strptime(c("2022-09-04 00:00", "2022-09-05 0:00"), 
                   format = "%Y-%m-%d %H:%M"))
alltemp$Date<- as.Date(as.POSIXct(alltemp$Date, origin="1970-01-01"))
STHS_hobo_temp<-ggplot(alltemp, aes(y=Temperature, x=Date_Time, color=Treatment))+
  geom_line(size=1)+
  #geom_hline(yintercept = 27.7, linetype="solid", color = 'black', size=0.7, show.legend = TRUE)+
  geom_hline(yintercept = 28.7, linetype="solid", color = 'black', size=0.7, show.legend = TRUE)+
  scale_x_datetime(labels = date_format("%H:%M"), breaks = date_breaks("3 hours"),limits=lims,  expand=c(0.015,0.015))+
  scale_y_continuous(expression(Temperature~(degree~C)))+
  scale_color_brewer(palette ="RdBu", direction =-1)+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5,size=12),#angling the labels on the x-axis
        plot.title = element_text(margin = margin(t = 10, b = 10), hjust=0.5),#telling it where to position our plot title
        panel.background= element_rect(fill=NA, color='black'),#this is making the black box around the graph
        strip.background = element_blank(), 
        #strip.text = element_blank(),
        legend.title = element_text(),
        legend.position=c(0.89,0.80),
        axis.text.y = element_text(vjust=0.5, size=12), #making the axis text larger 
        axis.title.x = element_blank(),#making the axis title larger 
        axis.title.y = element_text(size=12))#making the axis title larger 
STHS_hobo_temp
tempfigs<-cowplot::plot_grid(STHS_hobo_temp, STHS_hobo_temp,STHS_hobo_temp, STHS_hobo_temp, nrow = 2, ncol = 2)
Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).
tempfigs

##PAM

pam<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/PAM data for STHS.csv")
pam$Treatment<- as.factor(pam$Treatment)
pam$Bleach<-as.factor(pam$Bleach)
#pam$Months<-as.factor(pam$Months)
pam$Species<-as.factor(pam$Species)
pam$Colony.ID<-as.factor(pam$Colony.ID)
pam$Rep<-as.factor(pam$Rep)
pam$Temperature<- as.numeric(pam$Temperature)
pam
library(Rmisc)
allpamsum<-summarySE(pam, measurevar='Y', groupvars=c('Treatment',"Temperature",'Species','Bleach',"Colony.ID"), na.rm=TRUE, conf.interval = 0.95)
allpamsum

###Normality

hist(allpamsum$Y)

sths.lm<- lm(Y~Treatment*Species*Bleach, data=allpamsum) #Gaussian
par(mfrow=c(2,3))
plot(sths.lm, ask=FALSE, which=1:6)

###Stats

Y.lme <- lme(Y~Treatment*Species*Bleach, random = ~1|Colony.ID, data=allpamsum, na.action=na.exclude)
car::Anova(Y.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Y
                             Chisq Df Pr(>Chisq)    
(Intercept)              1030.2318  1  < 2.2e-16 ***
Treatment                 348.3408  3  < 2.2e-16 ***
Species                     2.8518  1    0.09127 .  
Bleach                      0.1034  1    0.74779    
Treatment:Species          35.3168  3  1.044e-07 ***
Treatment:Bleach            9.1089  3    0.02788 *  
Species:Bleach              0.2096  1    0.64706    
Treatment:Species:Bleach    4.4031  3    0.22110    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(Y.lme, list(pairwise ~ Treatment:Species), adjust = "tukey", simple="Species")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Treatment, Species`
 Treatment Species            emmean     SE df lower.CL upper.CL
 3C        Montipora capitata  0.687 0.0152 36    0.656    0.718
 6C        Montipora capitata  0.667 0.0152 36    0.636    0.698
 9C        Montipora capitata  0.281 0.0152 36    0.250    0.312
 AMB       Montipora capitata  0.709 0.0152 36    0.678    0.740
 3C        Porites compressa   0.645 0.0152 36    0.614    0.676
 6C        Porites compressa   0.628 0.0152 36    0.597    0.659
 9C        Porites compressa   0.398 0.0152 36    0.367    0.428
 AMB       Porites compressa   0.672 0.0152 36    0.641    0.703

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Treatment, Species | Treatment`
Treatment = 3C:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa   0.0416 0.0216 36   1.930  0.0615

Treatment = 6C:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa   0.0390 0.0216 36   1.810  0.0787

Treatment = 9C:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa  -0.1163 0.0216 36  -5.394  <.0001

Treatment = AMB:
 2                                      estimate     SE df t.ratio p.value
 Montipora capitata - Porites compressa   0.0375 0.0216 36   1.741  0.0902

Results are averaged over the levels of: Bleach 
Degrees-of-freedom method: containment 
tukey2<- emmeans(Y.lme, list(pairwise ~ Treatment:Bleach), adjust = "tukey", simple="Bleach")
NOTE: Results may be misleading due to involvement in interactions
tukey2
$`emmeans of Treatment, Bleach`
 Treatment Bleach     emmean     SE df lower.CL upper.CL
 3C        Bleach      0.666 0.0152 36    0.635    0.697
 6C        Bleach      0.646 0.0152 36    0.615    0.677
 9C        Bleach      0.311 0.0152 36    0.280    0.342
 AMB       Bleach      0.687 0.0152 36    0.656    0.718
 3C        Non-bleach  0.666 0.0152 36    0.635    0.697
 6C        Non-bleach  0.649 0.0152 36    0.618    0.680
 9C        Non-bleach  0.368 0.0152 36    0.337    0.399
 AMB       Non-bleach  0.694 0.0152 36    0.663    0.725

Results are averaged over the levels of: Species 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Treatment, Bleach | Treatment`
Treatment = 3C:
 2                      estimate     SE df t.ratio p.value
 Bleach - (Non-bleach) -6.67e-05 0.0216 36  -0.003  0.9975

Treatment = 6C:
 2                      estimate     SE df t.ratio p.value
 Bleach - (Non-bleach) -2.77e-03 0.0216 36  -0.128  0.8986

Treatment = 9C:
 2                      estimate     SE df t.ratio p.value
 Bleach - (Non-bleach) -5.68e-02 0.0216 36  -2.638  0.0122

Treatment = AMB:
 2                      estimate     SE df t.ratio p.value
 Bleach - (Non-bleach) -7.15e-03 0.0216 36  -0.332  0.7420

Results are averaged over the levels of: Species 
Degrees-of-freedom method: containment 
summary(Y.lme)
Linear mixed-effects model fit by REML
 Data: allpamsum 

Random effects:
 Formula: ~1 | Colony.ID
        (Intercept)   Residual
StdDev: 0.009235533 0.06751884

Fixed effects: Y ~ Treatment * Species * Bleach 
 Correlation: 
                                                       (Intr) Trtm6C Trtm9C TrtAMB SpcsPc BlchN- Tr6C:SPc Tr9C:SPc TrAMB:SPc T6C:BN T9C:BN
Treatment6C                                            -0.701                                                                             
Treatment9C                                            -0.701  0.500                                                                      
TreatmentAMB                                           -0.701  0.500  0.500                                                               
SpeciesPorites compressa                               -0.707  0.495  0.495  0.495                                                        
BleachNon-bleach                                       -0.707  0.495  0.495  0.495  0.500                                                 
Treatment6C:SpeciesPorites compressa                    0.495 -0.707 -0.354 -0.354 -0.701 -0.350                                          
Treatment9C:SpeciesPorites compressa                    0.495 -0.354 -0.707 -0.354 -0.701 -0.350  0.500                                   
TreatmentAMB:SpeciesPorites compressa                   0.495 -0.354 -0.354 -0.707 -0.701 -0.350  0.500    0.500                          
Treatment6C:BleachNon-bleach                            0.495 -0.707 -0.354 -0.354 -0.350 -0.701  0.500    0.250    0.250                 
Treatment9C:BleachNon-bleach                            0.495 -0.354 -0.707 -0.354 -0.350 -0.701  0.250    0.500    0.250     0.500       
TreatmentAMB:BleachNon-bleach                           0.495 -0.354 -0.354 -0.707 -0.350 -0.701  0.250    0.250    0.500     0.500  0.500
SpeciesPorites compressa:BleachNon-bleach               0.500 -0.350 -0.350 -0.350 -0.707 -0.707  0.495    0.495    0.495     0.495  0.495
Treatment6C:SpeciesPorites compressa:BleachNon-bleach  -0.350  0.500  0.250  0.250  0.495  0.495 -0.707   -0.354   -0.354    -0.707 -0.354
Treatment9C:SpeciesPorites compressa:BleachNon-bleach  -0.350  0.250  0.500  0.250  0.495  0.495 -0.354   -0.707   -0.354    -0.354 -0.707
TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach -0.350  0.250  0.250  0.500  0.495  0.495 -0.354   -0.354   -0.707    -0.354 -0.354
                                                       TAMB:B SPc:BN T6C:SPc: T9C:SPc:
Treatment6C                                                                           
Treatment9C                                                                           
TreatmentAMB                                                                          
SpeciesPorites compressa                                                              
BleachNon-bleach                                                                      
Treatment6C:SpeciesPorites compressa                                                  
Treatment9C:SpeciesPorites compressa                                                  
TreatmentAMB:SpeciesPorites compressa                                                 
Treatment6C:BleachNon-bleach                                                          
Treatment9C:BleachNon-bleach                                                          
TreatmentAMB:BleachNon-bleach                                                         
SpeciesPorites compressa:BleachNon-bleach               0.495                         
Treatment6C:SpeciesPorites compressa:BleachNon-bleach  -0.354 -0.701                  
Treatment9C:SpeciesPorites compressa:BleachNon-bleach  -0.354 -0.701  0.500           
TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach -0.707 -0.701  0.500    0.500  

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-4.308757602 -0.237332187 -0.008017678  0.235385651  4.251163970 

Number of Observations: 160
Number of Groups: 40 
r.squaredGLMM(Y.lme)
           R2m       R2c
[1,] 0.8261913 0.8293836

####Coefficients

coef(Y.lme)
    (Intercept) Treatment6C Treatment9C TreatmentAMB SpeciesPorites compressa BleachNon-bleach Treatment6C:SpeciesPorites compressa
3     0.6885504     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
4     0.6930096     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
11    0.6963025     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
12    0.6910078     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
19    0.6916605     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
20    0.6891394     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
26    0.6914929     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
27    0.6917337     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
41    0.6887918     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
42    0.6938370     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
43    0.6872890     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
44    0.6905355     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
45    0.6908111     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
46    0.6891719     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
201   0.6892932     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
202   0.6915184     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
203   0.6887245     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
204   0.6915300     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
209   0.6899604     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
210   0.6923075     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
211   0.6950898     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
212   0.6926731     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
213   0.6888870     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
214   0.6897835     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
219   0.6948461     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
220   0.6918839     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
221   0.6936856     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
222   0.6941469     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
225   0.6973330     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
226   0.6902743     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
235   0.6908691     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
236   0.6935237     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
237   0.6882986     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
238   0.6911621     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
239   0.6940082     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
240   0.6906225     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
243   0.6935092     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
244   0.6932162     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
247   0.6943563     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
248   0.6931639     -0.0239     -0.4604       0.0191              -0.05146667          -0.0098                          0.007633333
    Treatment9C:SpeciesPorites compressa TreatmentAMB:SpeciesPorites compressa Treatment6C:BleachNon-bleach Treatment9C:BleachNon-bleach
3                              0.2108333                           0.003533333                  0.007733333                    0.1097667
4                              0.2108333                           0.003533333                  0.007733333                    0.1097667
11                             0.2108333                           0.003533333                  0.007733333                    0.1097667
12                             0.2108333                           0.003533333                  0.007733333                    0.1097667
19                             0.2108333                           0.003533333                  0.007733333                    0.1097667
20                             0.2108333                           0.003533333                  0.007733333                    0.1097667
26                             0.2108333                           0.003533333                  0.007733333                    0.1097667
27                             0.2108333                           0.003533333                  0.007733333                    0.1097667
41                             0.2108333                           0.003533333                  0.007733333                    0.1097667
42                             0.2108333                           0.003533333                  0.007733333                    0.1097667
43                             0.2108333                           0.003533333                  0.007733333                    0.1097667
44                             0.2108333                           0.003533333                  0.007733333                    0.1097667
45                             0.2108333                           0.003533333                  0.007733333                    0.1097667
46                             0.2108333                           0.003533333                  0.007733333                    0.1097667
201                            0.2108333                           0.003533333                  0.007733333                    0.1097667
202                            0.2108333                           0.003533333                  0.007733333                    0.1097667
203                            0.2108333                           0.003533333                  0.007733333                    0.1097667
204                            0.2108333                           0.003533333                  0.007733333                    0.1097667
209                            0.2108333                           0.003533333                  0.007733333                    0.1097667
210                            0.2108333                           0.003533333                  0.007733333                    0.1097667
211                            0.2108333                           0.003533333                  0.007733333                    0.1097667
212                            0.2108333                           0.003533333                  0.007733333                    0.1097667
213                            0.2108333                           0.003533333                  0.007733333                    0.1097667
214                            0.2108333                           0.003533333                  0.007733333                    0.1097667
219                            0.2108333                           0.003533333                  0.007733333                    0.1097667
220                            0.2108333                           0.003533333                  0.007733333                    0.1097667
221                            0.2108333                           0.003533333                  0.007733333                    0.1097667
222                            0.2108333                           0.003533333                  0.007733333                    0.1097667
225                            0.2108333                           0.003533333                  0.007733333                    0.1097667
226                            0.2108333                           0.003533333                  0.007733333                    0.1097667
235                            0.2108333                           0.003533333                  0.007733333                    0.1097667
236                            0.2108333                           0.003533333                  0.007733333                    0.1097667
237                            0.2108333                           0.003533333                  0.007733333                    0.1097667
238                            0.2108333                           0.003533333                  0.007733333                    0.1097667
239                            0.2108333                           0.003533333                  0.007733333                    0.1097667
240                            0.2108333                           0.003533333                  0.007733333                    0.1097667
243                            0.2108333                           0.003533333                  0.007733333                    0.1097667
244                            0.2108333                           0.003533333                  0.007733333                    0.1097667
247                            0.2108333                           0.003533333                  0.007733333                    0.1097667
248                            0.2108333                           0.003533333                  0.007733333                    0.1097667
    TreatmentAMB:BleachNon-bleach SpeciesPorites compressa:BleachNon-bleach Treatment6C:SpeciesPorites compressa:BleachNon-bleach
3                     0.006533333                                0.01973333                                           -0.01006667
4                     0.006533333                                0.01973333                                           -0.01006667
11                    0.006533333                                0.01973333                                           -0.01006667
12                    0.006533333                                0.01973333                                           -0.01006667
19                    0.006533333                                0.01973333                                           -0.01006667
20                    0.006533333                                0.01973333                                           -0.01006667
26                    0.006533333                                0.01973333                                           -0.01006667
27                    0.006533333                                0.01973333                                           -0.01006667
41                    0.006533333                                0.01973333                                           -0.01006667
42                    0.006533333                                0.01973333                                           -0.01006667
43                    0.006533333                                0.01973333                                           -0.01006667
44                    0.006533333                                0.01973333                                           -0.01006667
45                    0.006533333                                0.01973333                                           -0.01006667
46                    0.006533333                                0.01973333                                           -0.01006667
201                   0.006533333                                0.01973333                                           -0.01006667
202                   0.006533333                                0.01973333                                           -0.01006667
203                   0.006533333                                0.01973333                                           -0.01006667
204                   0.006533333                                0.01973333                                           -0.01006667
209                   0.006533333                                0.01973333                                           -0.01006667
210                   0.006533333                                0.01973333                                           -0.01006667
211                   0.006533333                                0.01973333                                           -0.01006667
212                   0.006533333                                0.01973333                                           -0.01006667
213                   0.006533333                                0.01973333                                           -0.01006667
214                   0.006533333                                0.01973333                                           -0.01006667
219                   0.006533333                                0.01973333                                           -0.01006667
220                   0.006533333                                0.01973333                                           -0.01006667
221                   0.006533333                                0.01973333                                           -0.01006667
222                   0.006533333                                0.01973333                                           -0.01006667
225                   0.006533333                                0.01973333                                           -0.01006667
226                   0.006533333                                0.01973333                                           -0.01006667
235                   0.006533333                                0.01973333                                           -0.01006667
236                   0.006533333                                0.01973333                                           -0.01006667
237                   0.006533333                                0.01973333                                           -0.01006667
238                   0.006533333                                0.01973333                                           -0.01006667
239                   0.006533333                                0.01973333                                           -0.01006667
240                   0.006533333                                0.01973333                                           -0.01006667
243                   0.006533333                                0.01973333                                           -0.01006667
244                   0.006533333                                0.01973333                                           -0.01006667
247                   0.006533333                                0.01973333                                           -0.01006667
248                   0.006533333                                0.01973333                                           -0.01006667
    Treatment9C:SpeciesPorites compressa:BleachNon-bleach TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach
3                                              -0.1059667                                                 0.0011
4                                              -0.1059667                                                 0.0011
11                                             -0.1059667                                                 0.0011
12                                             -0.1059667                                                 0.0011
19                                             -0.1059667                                                 0.0011
20                                             -0.1059667                                                 0.0011
26                                             -0.1059667                                                 0.0011
27                                             -0.1059667                                                 0.0011
41                                             -0.1059667                                                 0.0011
42                                             -0.1059667                                                 0.0011
43                                             -0.1059667                                                 0.0011
44                                             -0.1059667                                                 0.0011
45                                             -0.1059667                                                 0.0011
46                                             -0.1059667                                                 0.0011
201                                            -0.1059667                                                 0.0011
202                                            -0.1059667                                                 0.0011
203                                            -0.1059667                                                 0.0011
204                                            -0.1059667                                                 0.0011
209                                            -0.1059667                                                 0.0011
210                                            -0.1059667                                                 0.0011
211                                            -0.1059667                                                 0.0011
212                                            -0.1059667                                                 0.0011
213                                            -0.1059667                                                 0.0011
214                                            -0.1059667                                                 0.0011
219                                            -0.1059667                                                 0.0011
220                                            -0.1059667                                                 0.0011
221                                            -0.1059667                                                 0.0011
222                                            -0.1059667                                                 0.0011
225                                            -0.1059667                                                 0.0011
226                                            -0.1059667                                                 0.0011
235                                            -0.1059667                                                 0.0011
236                                            -0.1059667                                                 0.0011
237                                            -0.1059667                                                 0.0011
238                                            -0.1059667                                                 0.0011
239                                            -0.1059667                                                 0.0011
240                                            -0.1059667                                                 0.0011
243                                            -0.1059667                                                 0.0011
244                                            -0.1059667                                                 0.0011
247                                            -0.1059667                                                 0.0011
248                                            -0.1059667                                                 0.0011
allpamsum2<-summarySE(pam, measurevar='Y', groupvars=c('Treatment',"Temperature",'Species','Bleach'), na.rm=TRUE, conf.interval = 0.95)
allpamsum2

###Figure

allpamsum$Treatment <- factor(allpamsum$Treatment, levels=c("AMB","3C","6C","9C"))
allpamsum$Temperature<- factor(allpamsum$Temperature, levels =c("27.7","30.7","33.7","36.7"))
allpamsum$Bleach<- factor(allpamsum$Bleach, levels =c("Non-bleach","Bleach"))
allpamsum2$Treatment <- factor(allpamsum2$Treatment, levels=c("AMB","3C","6C","9C"))
allpamsum2$Temperature<- factor(allpamsum2$Temperature, levels =c("27.7","30.7","33.7","36.7"))
allpamsum2$Bleach<- factor(allpamsum2$Bleach, levels =c("Non-bleach","Bleach"))
pamfig<-ggplot(allpamsum2, aes(y=Y, x=Treatment, color=Bleach))+ 
  geom_point(data=allpamsum, aes(y=Y,x=Treatment, color=Bleach),alpha=0.5,position=position_jitterdodge(0.05))+
  geom_path(aes(stat="identity"), position=position_dodge(0.5))+
  facet_wrap(~Species, nrow=1)+
  geom_point(size=1, position=position_dodge(0.5),stat="identity")+
  geom_errorbar(aes(ymin=Y-se, ymax=Y+se, width= 0.5),  position=position_dodge(0.5),stat="identity") +
  scale_y_continuous(expression(Photosynthetic~efficiency~(Fv/Fm)), limits=c(0,0.75), breaks=c(0,0.25,0.50,0.75))+  
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_blank(),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12, face="italic"))
Warning: Ignoring unknown aesthetics: stat
pamfig

ed50m<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Montipora ed50.csv")
ed50m$Bleach<-as.factor(ed50m$Bleach)
ed50m
ed50p<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Porites ed50.csv")
ed50p$Bleach<-as.factor(ed50p$Bleach)
ed50p
allpamsumporites<-filter(allpamsum, Species == "Porites compressa")
allpamsummontipora<-filter(allpamsum, Species == "Montipora capitata")

#Porites DRM model

library(drc) #if not working, ensure temperature is numeric
sths.drc.por <- drm(Y~Temperature, fct=LL.3(),
                          data = allpamsumporites,
                          curveid = Bleach)
Error in optim(startVec, opfct, hessian = TRUE, method = optMethod, control = list(maxit = maxIt,  : 
  non-finite value supplied by optim
Error in drmOpt(opfct, opdfct1, startVecSc, optMethod, constrained, warnVal,  : 
  Convergence failed
AICc(sths.drc.por, sths.drc.por2)
##Create predictions data frame
newdata = with(allpamsumporites, 
                       expand.grid(Bleach = levels(Bleach),
                                 Temperature=seq(min(Temperature, na.rm=TRUE), max(Temperature, na.rm=TRUE)+ 1, 0.1)))
pred<- as.data.frame(predict(sths.drc.por, newdata=newdata, interval = "confidence", level=0.95))
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
#newdata = data.frame(newdata, fvfm = newdata$Prediction, Lower = newdata$Lower, Upper = newdata$Upper)
pred$Bleach = newdata$Bleach
pred$Temperature = newdata$Temperature
pred.average = pred %>% 
  group_by(Bleach,Temperature) %>% 
  summarise_all(.funs=mean)
pred.average
pam.fig.por<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+
  annotate("rect",xmin=36.94588, xmax=37.41424, ymin=-Inf, ymax=Inf,fill ="#DFD3B9", alpha = 0.2)+
  annotate("rect", xmin=37.01656, xmax=37.53534,ymin=-Inf, ymax=Inf,  fill= "#796334",  alpha = 0.1) +
  geom_line(size=1)+
  geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.4, show.legend = FALSE) +
  geom_point(data=allpamsumporites, aes(y=Y, x=Temperature, color=Bleach),alpha=0.7,position=position_jitterdodge(0.05))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  scale_y_continuous(expression(Photosynthetic~efficiency~(Fv/Fm)), limits=c(0,0.75), breaks=c(0,0.25,0.5,0.75))+  
  geom_vline(xintercept = 37.180062, linetype = 2, size=1, alpha = 0.8, color = "#DFD3B9") +
  geom_vline(xintercept = 37.27595, linetype = 2, size=1,alpha = 0.8, color = "#796334") +
  #geom_point(data = ed50p, aes(y=Estimate, x = ed50,color=Bleach,fill=Bleach),size=4, shape=17)+
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
pam.fig.por

library(drc)
sths.drc.mon <- drm(Y~Temperature, fct=LL.3(),
                          data = allpamsummontipora,
                          curveid = Bleach)
Warning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs produced
summary(sths.drc.mon)# run model.

Model fitted: Log-logistic (ED50 as parameter) with lower limit at 0 (3 parms)

Parameter estimates:

              Estimate Std. Error  t-value   p-value    
b:Bleach     43.116793   9.646432   4.4697  2.77e-05 ***
b:Non-bleach 37.135455  10.942992   3.3935  0.001111 ** 
d:Bleach      0.701765   0.015795  44.4303 < 2.2e-16 ***
d:Non-bleach  0.695647   0.016136  43.1116 < 2.2e-16 ***
e:Bleach     36.100733   0.175850 205.2930 < 2.2e-16 ***
e:Non-bleach 36.606397   0.135508 270.1411 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error:

 0.06902043 (74 degrees of freedom)
plot(sths.drc.mon)

ed50<-ED(sths.drc.mon, 50, interval="delta")
Warning: NAs introduced by coercion

Estimated effective doses

                Estimate Std. Error    Lower    Upper
e:Bleach:50     36.10073    0.17585 35.75034 36.45112
e:Non-bleach:50 36.60640    0.13551 36.33639 36.87640
ed50
                Estimate Std. Error    Lower    Upper
e:Bleach:50     36.10073  0.1758498 35.75034 36.45112
e:Non-bleach:50 36.60640  0.1355084 36.33639 36.87640
##Create predictions data frame
newdata = with(allpamsummontipora, 
                      expand.grid(Bleach = levels(Bleach),
                                 Temperature=seq(min(Temperature, na.rm=TRUE), max(Temperature, na.rm=TRUE)+ 1, 0.1)))
pred<- as.data.frame(predict(sths.drc.mon, newdata=newdata, interval = "confidence", level=0.95))
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
#newdata = data.frame(newdata, fvfm = newdata$Prediction, Lower = newdata$Lower, Upper = newdata$Upper)
pred$Bleach = newdata$Bleach
pred$Temperature = newdata$Temperature
pred.average = pred %>% 
  group_by(Bleach,Temperature) %>% 
  summarise_all(.funs=mean)
pred.average
pam.fig.mon<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+ 
  annotate("rect",xmin=35.92488, xmax=36.27658, ymin=-Inf, ymax=Inf,fill ="#DFD3B9", alpha = 0.2)+
  annotate("rect", xmin=36.47089, xmax=36.74191,ymin=-Inf, ymax=Inf,  fill= "#796334",  alpha = 0.1) +
  geom_line(size=1)+
  geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.4, show.legend = FALSE) +
  geom_point(data=allpamsummontipora, aes(y=Y, x=Temperature, color=Bleach),alpha=0.7,position=position_jitterdodge(0.05))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  scale_y_continuous(expression(Photosynthetic~efficiency~(Fv/Fm)), limits=c(0,0.75), breaks=c(0,0.25,0.5,0.75))+ 
  geom_vline(xintercept = 36.100733, linetype = 2, size=1, alpha = 0.8, color = "#DFD3B9") +
  geom_vline(xintercept = 36.606397, linetype = 2, size=1,alpha = 0.8, color = "#796334") +
  #geom_point(data = ed50m, aes(y=Estimate, x = ed50,color=Bleach,fill=Bleach),size=4, shape=17)+
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.2),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
pam.fig.mon

pamfig2<-ggplot(allpamsum, aes(y=Y, x=Temperature, color=Bleach, fill=Bleach))+ 
  geom_point(alpha=0.5)+
  geom_smooth(method=drm, method.args=list(fct=L.3()), se=F)+
  facet_grid(~Species)+
  #scale_x_date(date_breaks = "4 months", date_labels = "%b %y")+ 
  #scale_y_continuous(expression(Chlorophyll~italic(a)~(mu~g~'\U2219'~cm^{-2})))+
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_y_continuous(expression(Photosynthetic~efficiency~(Fv/Fm)), limits=c(0,0.8), breaks=c(0,0.25,0.50,0.75))+ 
  #geom_hline(yintercept=0.4)+
  geom_vline(xintercept =c(36.23238), linetype='solid', size=1, color='#DFD3B9')+
  geom_vline(xintercept =c(37.08728), linetype='dashed', size=1, color='#DFD3B9')+
  geom_vline(xintercept =c(36.622434), linetype='solid', size=1, color='#796334')+
  geom_vline(xintercept =c(37.185249), linetype='dashed', size=1, color='#796334')+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.12,0.15),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(size=12, face="italic"))
pamfig2

pamfigs<-cowplot::plot_grid(pamfig2, pamfig2, nrow = 2, ncol = 1)
`geom_smooth()` using formula 'y ~ x'
`geom_smooth()` using formula 'y ~ x'
pamfigs

##Color score

color<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Color score data STHS.csv")
color$Treatment<- as.factor(color$Treatment)
color$Bleach<-as.factor(color$Bleach)
#color$Months<-as.factor(color$Months)
color$Species<-as.factor(color$Species)
color$Colony.ID<-as.factor(color$Colony.ID)
#color$Rep<-as.factor(color$Rep)
color

###Normality

hist(color$Color_avg)

sthsc.lm<- lm(Color_avg~Treatment*Species*Bleach, data=color) #Gaussian
par(mfrow=c(2,3))
plot(sthsc.lm, ask=FALSE, which=1:6)

###Stats

color.lme <- lme(Color_avg~Treatment*Species*Bleach, random = ~1|Colony.ID, data=color, na.action=na.exclude)
car::Anova(color.lme, type=3)
Warning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omittedWarning: one or more coefficients in the hypothesis include
     arithmetic operators in their names;
  the printed representation of the hypothesis will be omitted
Analysis of Deviance Table (Type III tests)

Response: Color_avg
                            Chisq Df Pr(>Chisq)    
(Intercept)              195.0162  1  < 2.2e-16 ***
Treatment                134.0736  3  < 2.2e-16 ***
Species                    7.4448  1   0.006362 ** 
Bleach                     6.7526  1   0.009361 ** 
Treatment:Species          5.4485  3   0.141749    
Treatment:Bleach           3.5958  3   0.308551    
Species:Bleach             4.0853  1   0.043257 *  
Treatment:Species:Bleach   1.0530  3   0.788433    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
tukey3<- emmeans(color.lme, list(pairwise ~ Species:Bleach), adjust = "tukey", simple="Bleach")
NOTE: Results may be misleading due to involvement in interactions
tukey3
$`emmeans of Species, Bleach`
 Species            Bleach     emmean     SE df lower.CL upper.CL
 Montipora capitata Bleach      0.535 0.0272 39    0.480    0.590
 Porites compressa  Bleach      0.703 0.0272 37    0.647    0.758
 Montipora capitata Non-bleach  0.690 0.0272 39    0.635    0.745
 Porites compressa  Non-bleach  0.695 0.0272 37    0.640    0.750

Results are averaged over the levels of: Treatment 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Species, Bleach | Species`
Species = Montipora capitata:
 2                     estimate     SE  df t.ratio p.value
 Bleach - (Non-bleach)  -0.1550 0.0385 107  -4.028  0.0001

Species = Porites compressa:
 2                     estimate     SE  df t.ratio p.value
 Bleach - (Non-bleach)   0.0075 0.0385  37   0.195  0.8465

Results are averaged over the levels of: Treatment 
Degrees-of-freedom method: containment 
tukey2<- emmeans(color.lme, list(pairwise ~ Treatment), adjust = "tukey")
NOTE: Results may be misleading due to involvement in interactions
tukey2
$`emmeans of Treatment`
 Treatment emmean     SE df lower.CL upper.CL
 3         0.9100 0.0272 37   0.8549   0.9651
 6         0.7300 0.0272 37   0.6749   0.7851
 9         0.0275 0.0272 37  -0.0276   0.0826
 AMB       0.9550 0.0272 37   0.8999   1.0101

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
Confidence level used: 0.95 

$`pairwise differences of Treatment`
 1       estimate     SE  df t.ratio p.value
 3 - 6      0.180 0.0385 107   4.677  <.0001
 3 - 9      0.882 0.0385 107  22.933  <.0001
 3 - AMB   -0.045 0.0385 107  -1.169  0.6474
 6 - 9      0.703 0.0385 107  18.255  <.0001
 6 - AMB   -0.225 0.0385 107  -5.847  <.0001
 9 - AMB   -0.927 0.0385 107 -24.102  <.0001

Results are averaged over the levels of: Species, Bleach 
Degrees-of-freedom method: containment 
P value adjustment: tukey method for comparing a family of 4 estimates 
summary(color.lme)
Linear mixed-effects model fit by REML
 Data: color 

Random effects:
 Formula: ~1 | Colony.ID
         (Intercept) Residual
StdDev: 8.038071e-06 0.172099

Fixed effects: Color_avg ~ Treatment * Species * Bleach 
 Correlation: 
                                                       (Intr) Trtmn6 Trtmn9 TrtAMB SpcsPc BlchN- Tr6:SPc Tr9:SPc TrAMB:SPc T6:BN- T9:BN-
Treatment6                                             -0.707                                                                           
Treatment9                                             -0.707  0.500                                                                    
TreatmentAMB                                           -0.707  0.500  0.500                                                             
SpeciesPorites compressa                               -0.707  0.500  0.500  0.500                                                      
BleachNon-bleach                                       -0.707  0.500  0.500  0.500  0.500                                               
Treatment6:SpeciesPorites compressa                     0.500 -0.707 -0.354 -0.354 -0.707 -0.354                                        
Treatment9:SpeciesPorites compressa                     0.500 -0.354 -0.707 -0.354 -0.707 -0.354  0.500                                 
TreatmentAMB:SpeciesPorites compressa                   0.500 -0.354 -0.354 -0.707 -0.707 -0.354  0.500   0.500                         
Treatment6:BleachNon-bleach                             0.500 -0.707 -0.354 -0.354 -0.354 -0.707  0.500   0.250   0.250                 
Treatment9:BleachNon-bleach                             0.500 -0.354 -0.707 -0.354 -0.354 -0.707  0.250   0.500   0.250     0.500       
TreatmentAMB:BleachNon-bleach                           0.500 -0.354 -0.354 -0.707 -0.354 -0.707  0.250   0.250   0.500     0.500  0.500
SpeciesPorites compressa:BleachNon-bleach               0.500 -0.354 -0.354 -0.354 -0.707 -0.707  0.500   0.500   0.500     0.500  0.500
Treatment6:SpeciesPorites compressa:BleachNon-bleach   -0.354  0.500  0.250  0.250  0.500  0.500 -0.707  -0.354  -0.354    -0.707 -0.354
Treatment9:SpeciesPorites compressa:BleachNon-bleach   -0.354  0.250  0.500  0.250  0.500  0.500 -0.354  -0.707  -0.354    -0.354 -0.707
TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach -0.354  0.250  0.250  0.500  0.500  0.500 -0.354  -0.354  -0.707    -0.354 -0.354
                                                       TAMB:B SPc:BN T6:SPc: T9:SPc:
Treatment6                                                                          
Treatment9                                                                          
TreatmentAMB                                                                        
SpeciesPorites compressa                                                            
BleachNon-bleach                                                                    
Treatment6:SpeciesPorites compressa                                                 
Treatment9:SpeciesPorites compressa                                                 
TreatmentAMB:SpeciesPorites compressa                                               
Treatment6:BleachNon-bleach                                                         
Treatment9:BleachNon-bleach                                                         
TreatmentAMB:BleachNon-bleach                                                       
SpeciesPorites compressa:BleachNon-bleach               0.500                       
Treatment6:SpeciesPorites compressa:BleachNon-bleach   -0.354 -0.707                
Treatment9:SpeciesPorites compressa:BleachNon-bleach   -0.354 -0.707  0.500         
TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach -0.707 -0.707  0.500   0.500 

Standardized Within-Group Residuals:
          Min            Q1           Med            Q3           Max 
-4.357958e+00 -2.324244e-01  1.267565e-10  2.905305e-01  2.672881e+00 

Number of Observations: 160
Number of Groups: 40 
r.squaredGLMM(color.lme)
           R2m       R2c
[1,] 0.8315664 0.8315664

####Coefficients

coef(color.lme)
    (Intercept) Treatment6 Treatment9 TreatmentAMB SpeciesPorites compressa BleachNon-bleach Treatment6:SpeciesPorites compressa
3          0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
4          0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
11         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
12         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
19         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
20         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
26         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
27         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
41         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
42         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
43         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
44         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
45         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
46         0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
201        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
202        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
203        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
204        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
209        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
210        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
211        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
212        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
213        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
214        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
219        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
220        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
221        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
222        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
225        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
226        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
235        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
236        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
237        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
238        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
239        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
240        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
243        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
244        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
247        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
248        0.76      -0.22      -0.74         0.06                     0.21              0.2                                0.05
    Treatment9:SpeciesPorites compressa TreatmentAMB:SpeciesPorites compressa Treatment6:BleachNon-bleach Treatment9:BleachNon-bleach
3                                 -0.19                                 -0.03                        0.01                       -0.17
4                                 -0.19                                 -0.03                        0.01                       -0.17
11                                -0.19                                 -0.03                        0.01                       -0.17
12                                -0.19                                 -0.03                        0.01                       -0.17
19                                -0.19                                 -0.03                        0.01                       -0.17
20                                -0.19                                 -0.03                        0.01                       -0.17
26                                -0.19                                 -0.03                        0.01                       -0.17
27                                -0.19                                 -0.03                        0.01                       -0.17
41                                -0.19                                 -0.03                        0.01                       -0.17
42                                -0.19                                 -0.03                        0.01                       -0.17
43                                -0.19                                 -0.03                        0.01                       -0.17
44                                -0.19                                 -0.03                        0.01                       -0.17
45                                -0.19                                 -0.03                        0.01                       -0.17
46                                -0.19                                 -0.03                        0.01                       -0.17
201                               -0.19                                 -0.03                        0.01                       -0.17
202                               -0.19                                 -0.03                        0.01                       -0.17
203                               -0.19                                 -0.03                        0.01                       -0.17
204                               -0.19                                 -0.03                        0.01                       -0.17
209                               -0.19                                 -0.03                        0.01                       -0.17
210                               -0.19                                 -0.03                        0.01                       -0.17
211                               -0.19                                 -0.03                        0.01                       -0.17
212                               -0.19                                 -0.03                        0.01                       -0.17
213                               -0.19                                 -0.03                        0.01                       -0.17
214                               -0.19                                 -0.03                        0.01                       -0.17
219                               -0.19                                 -0.03                        0.01                       -0.17
220                               -0.19                                 -0.03                        0.01                       -0.17
221                               -0.19                                 -0.03                        0.01                       -0.17
222                               -0.19                                 -0.03                        0.01                       -0.17
225                               -0.19                                 -0.03                        0.01                       -0.17
226                               -0.19                                 -0.03                        0.01                       -0.17
235                               -0.19                                 -0.03                        0.01                       -0.17
236                               -0.19                                 -0.03                        0.01                       -0.17
237                               -0.19                                 -0.03                        0.01                       -0.17
238                               -0.19                                 -0.03                        0.01                       -0.17
239                               -0.19                                 -0.03                        0.01                       -0.17
240                               -0.19                                 -0.03                        0.01                       -0.17
243                               -0.19                                 -0.03                        0.01                       -0.17
244                               -0.19                                 -0.03                        0.01                       -0.17
247                               -0.19                                 -0.03                        0.01                       -0.17
248                               -0.19                                 -0.03                        0.01                       -0.17
    TreatmentAMB:BleachNon-bleach SpeciesPorites compressa:BleachNon-bleach Treatment6:SpeciesPorites compressa:BleachNon-bleach
3                           -0.02                                     -0.22                                                 0.04
4                           -0.02                                     -0.22                                                 0.04
11                          -0.02                                     -0.22                                                 0.04
12                          -0.02                                     -0.22                                                 0.04
19                          -0.02                                     -0.22                                                 0.04
20                          -0.02                                     -0.22                                                 0.04
26                          -0.02                                     -0.22                                                 0.04
27                          -0.02                                     -0.22                                                 0.04
41                          -0.02                                     -0.22                                                 0.04
42                          -0.02                                     -0.22                                                 0.04
43                          -0.02                                     -0.22                                                 0.04
44                          -0.02                                     -0.22                                                 0.04
45                          -0.02                                     -0.22                                                 0.04
46                          -0.02                                     -0.22                                                 0.04
201                         -0.02                                     -0.22                                                 0.04
202                         -0.02                                     -0.22                                                 0.04
203                         -0.02                                     -0.22                                                 0.04
204                         -0.02                                     -0.22                                                 0.04
209                         -0.02                                     -0.22                                                 0.04
210                         -0.02                                     -0.22                                                 0.04
211                         -0.02                                     -0.22                                                 0.04
212                         -0.02                                     -0.22                                                 0.04
213                         -0.02                                     -0.22                                                 0.04
214                         -0.02                                     -0.22                                                 0.04
219                         -0.02                                     -0.22                                                 0.04
220                         -0.02                                     -0.22                                                 0.04
221                         -0.02                                     -0.22                                                 0.04
222                         -0.02                                     -0.22                                                 0.04
225                         -0.02                                     -0.22                                                 0.04
226                         -0.02                                     -0.22                                                 0.04
235                         -0.02                                     -0.22                                                 0.04
236                         -0.02                                     -0.22                                                 0.04
237                         -0.02                                     -0.22                                                 0.04
238                         -0.02                                     -0.22                                                 0.04
239                         -0.02                                     -0.22                                                 0.04
240                         -0.02                                     -0.22                                                 0.04
243                         -0.02                                     -0.22                                                 0.04
244                         -0.02                                     -0.22                                                 0.04
247                         -0.02                                     -0.22                                                 0.04
248                         -0.02                                     -0.22                                                 0.04
    Treatment9:SpeciesPorites compressa:BleachNon-bleach TreatmentAMB:SpeciesPorites compressa:BleachNon-bleach
3                                                   0.15                                                   0.04
4                                                   0.15                                                   0.04
11                                                  0.15                                                   0.04
12                                                  0.15                                                   0.04
19                                                  0.15                                                   0.04
20                                                  0.15                                                   0.04
26                                                  0.15                                                   0.04
27                                                  0.15                                                   0.04
41                                                  0.15                                                   0.04
42                                                  0.15                                                   0.04
43                                                  0.15                                                   0.04
44                                                  0.15                                                   0.04
45                                                  0.15                                                   0.04
46                                                  0.15                                                   0.04
201                                                 0.15                                                   0.04
202                                                 0.15                                                   0.04
203                                                 0.15                                                   0.04
204                                                 0.15                                                   0.04
209                                                 0.15                                                   0.04
210                                                 0.15                                                   0.04
211                                                 0.15                                                   0.04
212                                                 0.15                                                   0.04
213                                                 0.15                                                   0.04
214                                                 0.15                                                   0.04
219                                                 0.15                                                   0.04
220                                                 0.15                                                   0.04
221                                                 0.15                                                   0.04
222                                                 0.15                                                   0.04
225                                                 0.15                                                   0.04
226                                                 0.15                                                   0.04
235                                                 0.15                                                   0.04
236                                                 0.15                                                   0.04
237                                                 0.15                                                   0.04
238                                                 0.15                                                   0.04
239                                                 0.15                                                   0.04
240                                                 0.15                                                   0.04
243                                                 0.15                                                   0.04
244                                                 0.15                                                   0.04
247                                                 0.15                                                   0.04
248                                                 0.15                                                   0.04
allcolorsumporites<-filter(color, Species == "Porites compressa")
allcolorsumporites
allcolorsummontipora<-filter(color, Species == "Montipora capitata")
allcolorsummontipora

#Porites DRM model

library(drc)
sths.drc.por <- drm(Color_avg~Temperature, fct=LL.3(),
                          data = allcolorsumporites,
                          curveid = Bleach)
Warning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs produced
sths.drc.por2 <- drm(Color_avg~Temperature, fct=L.3(),
                          data = allcolorsumporites,
                          curveid = Bleach)
summary(sths.drc.por)# run model.

Model fitted: Log-logistic (ED50 as parameter) with lower limit at 0 (3 parms)

Parameter estimates:

              Estimate Std. Error  t-value   p-value    
b:Bleach     53.968752   8.535776   6.3227 1.749e-08 ***
b:Non-bleach 87.328481  69.595102   1.2548    0.2135    
d:Bleach      0.985832   0.019418  50.7696 < 2.2e-16 ***
d:Non-bleach  0.974925   0.019245  50.6582 < 2.2e-16 ***
e:Bleach     34.623068   0.167834 206.2933 < 2.2e-16 ***
e:Non-bleach 34.380959   0.550561  62.4472 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error:

 0.08602735 (74 degrees of freedom)
plot(sths.drc.por)
ed50<-ED(sths.drc.por, 50, interval="delta")
Warning: NAs introduced by coercion

Estimated effective doses

                Estimate Std. Error    Lower    Upper
e:Bleach:50     34.62307    0.16783 34.28865 34.95748
e:Non-bleach:50 34.38096    0.55056 33.28394 35.47797
ed50
                Estimate Std. Error    Lower    Upper
e:Bleach:50     34.62307  0.1678342 34.28865 34.95748
e:Non-bleach:50 34.38096  0.5505607 33.28394 35.47797
##Create predictions data frame
newdata = with(allcolorsumporites, 
                       expand.grid(Bleach = levels(Bleach),
                                 Temperature=seq(min(Temperature, na.rm=TRUE), max(Temperature, na.rm=TRUE)+ 1, 0.1)))
pred<- as.data.frame(predict(sths.drc.por, newdata=newdata, interval = "confidence", level=0.95))
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
#newdata = data.frame(newdata, fvfm = newdata$Prediction, Lower = newdata$Lower, Upper = newdata$Upper)
pred$Bleach = newdata$Bleach
pred$Temperature = newdata$Temperature
pred.average = pred %>% 
  group_by(Bleach,Temperature) %>% 
  summarise_all(.funs=mean)
pred.average
color.fig.por<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+
  annotate("rect",xmin=33.8304, xmax=34.93152, ymin=-Inf, ymax=Inf,fill ="#DFD3B9", alpha = 0.2)+
  annotate("rect", xmin=34.45524, xmax=34.7909, ymin=-Inf, ymax=Inf,  fill= "#796334",  alpha = 0.1) +
  geom_line(size=1)+
  geom_point(data=allcolorsumporites, aes(y=Color_avg, x=Temperature, color=Bleach),alpha=0.3,position=position_jitterdodge(0.05))+
  geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.5, show.legend = FALSE) +
  #geom_segment(data = ed50p, aes(y=Estimate,yend=-0.1, xend=ed50, x = ed50, color=Bleach),linetype = 1, size = 1.5)+
  #geom_point(data = ed50p, aes(y=Estimate, x = ed50),size=3)+
  #geom_point(size=1, position=position_dodge(0.5),stat="identity")+
  #geom_errorbar(aes(ymin=Prediction-Lower, ymax=Prediction+Upper, width= 0.5),  position=position_dodge(0.5),stat="identity") +
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  #scale_y_continuous(expression(Color~score),limits=c(-.25,1.1), breaks=c(-0.25,0,.25,.5,.75,1.0))+  
  geom_vline(xintercept = 34.62307, linetype = 2, size=1, alpha = 0.8, color = "#DFD3B9") +
  geom_vline(xintercept = 34.38096, linetype = 2, size=1,alpha = 0.8, color = "#796334") +
  #geom_point(data = ed50p, aes(y=Estimate, x = ed50,color=Bleach,fill=Bleach),size=4, shape=17)+
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
color.fig.por

color.fig.por2<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+ 
  geom_line(size=1)+
  #geom_segment(data = ed50p, aes(y=Estimate,yend=0, xend=ed50, x = ed50, color=Bleach),linetype = 1, size = .5)+
  #geom_point(data = ed50p, aes(y=Estimate, x = ed50),size=1)+
  geom_point(data=allcolorsumporites, aes(y=Color_avg, x=Temperature, color=Bleach),alpha=0.3,position=position_jitterdodge(0.05))+
  #geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.5, show.legend = FALSE) +
  #geom_point(size=1, position=position_dodge(0.5),stat="identity")+
  #geom_errorbar(aes(ymin=Prediction-Lower, ymax=Prediction+Upper, width= 0.5),  position=position_dodge(0.5),stat="identity") +
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  scale_y_continuous(expression(Color~score))+  
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position="none",
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
color.fig.por2

library(drc)
sths.drc.mon <- drm(Color_avg~Temperature, fct=LL.3(),
                          data = allcolorsummontipora,
                          curveid = Bleach)
Warning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs producedWarning: NaNs produced
summary(sths.drc.mon)# run model.

Model fitted: Log-logistic (ED50 as parameter) with lower limit at 0 (3 parms)

Parameter estimates:

              Estimate Std. Error t-value p-value    
b:Bleach     49.046481  35.920317  1.3654 0.17626    
b:Non-bleach 47.647123  18.087832  2.6342 0.01026 *  
d:Bleach      0.792351   0.051863 15.2778 < 2e-16 ***
d:Non-bleach  0.982078   0.051365 19.1194 < 2e-16 ***
e:Bleach     34.221465   0.437561 78.2096 < 2e-16 ***
e:Non-bleach 34.537109   0.382610 90.2671 < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error:

 0.2253141 (74 degrees of freedom)
plot(sths.drc.mon)

ed50<-ED(sths.drc.mon, 50, interval="delta")
Warning: NAs introduced by coercion

Estimated effective doses

                Estimate Std. Error    Lower    Upper
e:Bleach:50     34.22147    0.43756 33.34961 35.09332
e:Non-bleach:50 34.53711    0.38261 33.77474 35.29948
ed50
                Estimate Std. Error    Lower    Upper
e:Bleach:50     34.22147  0.4375612 33.34961 35.09332
e:Non-bleach:50 34.53711  0.3826100 33.77474 35.29948
##Create predictions data frame
newdata = with(allcolorsummontipora, 
                      expand.grid(Bleach = levels(Bleach),
                                 Temperature=seq(min(Temperature, na.rm=TRUE), max(Temperature, na.rm=TRUE)+ 1, 0.1)))
pred<- as.data.frame(predict(sths.drc.mon, newdata=newdata, interval = "confidence", level=0.95))
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
Warning: Recycling array of length 1 in array-vector arithmetic is deprecated.
  Use c() or as.vector() instead.
#newdata = data.frame(newdata, fvfm = newdata$Prediction, Lower = newdata$Lower, Upper = newdata$Upper)
pred$Bleach = newdata$Bleach
pred$Temperature = newdata$Temperature
pred.average = pred %>% 
  group_by(Bleach,Temperature) %>% 
  summarise_all(.funs=mean)
pred.average
ed50m<-read.csv("/Users/imkri/Desktop/Penn Postdoc/Hawaii/Montipora ed50 color.csv")
ed50m$Bleach<-as.factor(ed50m$Bleach)
ed50m
color.fig.mon<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+ 
  #geom_segment(data = ed50m, aes(y=Estimate,yend=-.10, xend=ed50, x = ed50, color=Bleach),linetype = 1, size =1.5)+
  geom_line(size=1)+
  annotate("rect",xmin=33.78391, xmax=34.65903, ymin=-Inf, ymax=Inf,fill ="#DFD3B9", alpha = 0.2)+
  annotate("rect", xmin=34.1545, xmax=34.91972, ymin=-Inf, ymax=Inf,  fill= "#796334",  alpha = 0.1) +
  geom_point(data=allcolorsummontipora, aes(y=Color_avg, x=Temperature, color=Bleach),alpha=0.3,position=position_jitterdodge(0.05))+
  geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.5, show.legend = FALSE) +
  #geom_point(size=1, position=position_dodge(0.5),stat="identity")+
  #geom_errorbar(aes(ymin=Prediction-Lower, ymax=Prediction+Upper, width= 0.5),  position=position_dodge(0.5),stat="identity") +
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  scale_y_continuous(expression(Color~score),limits=c(-.25,1.1),breaks=c(-0.25,0,.25,.5,.75,1.0))+  
  geom_vline(xintercept = 34.22147, linetype = 2, size=1, alpha = 0.8, color = "#DFD3B9") +
  #geom_rect(aes(xmin=33.34961, xmax=35.09332, ymin=Inf, ymax=Inf), alpha = 0.8,color = "#DFD3B9",fill = "#DFD3B9")+
  geom_vline(xintercept = 34.53711, linetype = 2, size=1,alpha = 0.8, color = "#796334") +
  #geom_point(data = ed50m, aes(y=Estimate, x = ed50,color=Bleach,fill=Bleach),size=4, shape=17)+
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.2),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
color.fig.mon

color.fig.mon2<-ggplot(pred.average, aes(y=Prediction, x=Temperature, color=Bleach, fill=Bleach))+ 
  geom_line(size=1)+
  #geom_segment(data = ed50m, aes(y=Estimate,yend=0, xend=ed50, x = ed50, color=Bleach),linetype = 1, size = 2)+
  #geom_point(data = ed50m, aes(y=Estimate, x = ed50),size=3)+
  geom_point(data=allcolorsummontipora, aes(y=Color_avg, x=Temperature, color=Bleach),alpha=0.3,position=position_jitterdodge(0.05))+
  #geom_ribbon(aes(ymin = Lower, ymax = Upper, fill = Bleach), alpha = 0.5, show.legend = FALSE) +
  #geom_point(size=1, position=position_dodge(0.5),stat="identity")+
  #geom_errorbar(aes(ymin=Prediction-Lower, ymax=Prediction+Upper, width= 0.5),  position=position_dodge(0.5),stat="identity") +
  scale_fill_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+ #Manually choose the colors
  scale_x_continuous(expression(Temperature~(degree~C)), limits=c(27,38),breaks=c(27,29,31,33,35,37))+
  scale_y_continuous(expression(Color~score))+  
  #scale_color_manual("Bleach", values=c("Bleach"= '#DFD3B9',"Non-bleach"='#796334'))+
  theme_classic()+
  theme(axis.text.x=element_text(vjust=0.5, size=12),
        axis.text.y=element_text(vjust=0.5, size=12),
        axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12),
        legend.text = element_text(vjust=0.5, size=12),
        legend.position=c(0.15,0.2),
        panel.background= element_rect(fill=NA, color='black'),
        strip.text = element_text(vjust=0.5, size=12))
color.fig.mon2

colorfigs<-cowplot::plot_grid(color.fig.mon, color.fig.por, nrow = 1, ncol = 2)
colorfigs

colorfigs2<-cowplot::plot_grid(color.fig.mon2, color.fig.por2, nrow = 1, ncol = 2)
colorfigs2

hobo2<-cowplot::plot_grid(STHS_hobo_temp,STHS_hobo_temp, nrow = 2, ncol = 1)
Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).
hobo2

pamcolorfigsall<-cowplot::plot_grid(pam.fig.mon,pam.fig.por, color.fig.mon, color.fig.por,pam.fig.mon,pam.fig.por, color.fig.mon, color.fig.por,nrow = 4, ncol = 3)
pamcolorfigsall

pamcolorfigswithtemp<-cowplot::plot_grid(STHS_hobo_temp,pamcolorfigsall,nrow = 1, ncol = 2, rel_widths = c(1,2))
Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: unknown timezone '%Y-%m-%d hh:mm:ss'Warning: Removed 1044 row(s) containing missing values (geom_path).
pamcolorfigswithtemp

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBkZl9wcmludDogcGFnZWQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCmBgYHtyfQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkodGlkeXIpDQpsaWJyYXJ5KFJtaXNjKQ0KbGlicmFyeShsdWJyaWRhdGUpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkoTUFTUykNCmxpYnJhcnkobWdjdikNCmxpYnJhcnkoTXVNSW4pDQpsaWJyYXJ5KGVtbWVhbnMpDQpsaWJyYXJ5KGdncmVwZWwpDQpsaWJyYXJ5KGVmZmVjdHMpDQpsaWJyYXJ5KGxtZTQpDQpsaWJyYXJ5KG5sbWUpDQpsaWJyYXJ5KHNqUGxvdCkNCmxpYnJhcnkoZHJjKQ0KbGlicmFyeShzY2FsZXMpDQpsaWJyYXJ5KHhmdW4pDQpgYGANCiNLQmF5IHBhaXJzIHBoeXNpb2xvZ3kNCmBgYHtyfQ0KcGh5czwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvUGh5cyBkYXRhIGZvciBSIHdpdGggVGVlZ2FuIG5vIE9jdC1Ob3YgMjAyMCBhbmQgb25seSBwZWFrIGJsZWFjaGluZy5jc3YiLCBzdHJpcC53aGl0ZT1UKQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShwaHlzJERhdGUsIGZvcm1hdCA9ICIlWS0lbS0lZCIpDQpwaHlzJEJsZWFjaDwtYXMuZmFjdG9yKHBoeXMkQmxlYWNoKQ0KcGh5cyRNb250aHM8LWFzLmZhY3RvcihwaHlzJE1vbnRocykNCnBoeXMkU3BlY2llczwtYXMuZmFjdG9yKHBoeXMkU3BlY2llcykNCnBoeXMkQ29yYWxfSUQ8LWFzLmZhY3RvcihwaHlzJENvcmFsX0lEKQ0KcGh5cw0KYGBgDQpgYGB7cn0NCnVuaXF1ZShwaHlzJE1vbnRocykNCmBgYA0KDQpgYGB7cn0NCnBoeXNfc3RyZXNzPSBmaWx0ZXIocGh5cywgTW9udGhzICVpbiUgYygiMCIsIjEyIiwiMjQiLCIzNSIpKQ0KcGh5c19zdHJlc3MNCmBgYA0KDQojI0VuZG9sb3RoaWNzDQpgYGB7cn0NCmVuZG9saXRoPC0gZ2xtKEVuZG9saXRoaWMgfiBTcGVjaWVzKkJsZWFjaCpNb250aHMsIGRhdGEgPSBwaHlzLCBmYW1pbHkgPSAiYmlub21pYWwiKQ0KI3N1bW1hcnkoZW5kb2xpdGgpDQpjYXI6OkFub3ZhKGVuZG9saXRoLCB0eXBlPTMpDQpgYGANCg0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmVuZG9maWc8LWdncGxvdChwaHlzLCBhZXMoeT1FbmRvbGl0aGljLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21faml0dGVyKCkrDQogICNnZW9tX3Ntb290aChtZXRob2Q9ImxvZXNzIikrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFByZXNlbmNlfm9mfmVuZG9saXRoaWN+YWxnYWUpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgI2xlZ2VuZC5wb3NpdGlvbj1jKDAuMTUsMC44NSksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmVuZG9maWcNCmBgYA0KDQojI1Byb3RlaW4NCiMjI05vcm1hbGl0eQ0KYGBge3J9DQpoaXN0KHBoeXMkUHJvdGVpbl9tZy5jbS4yKQ0KYGBgDQoNCmBgYHtyfQ0KcHJvdGVpbi5sbTwtIGxtKFByb3RlaW5fbWcuY20uMn5TcGVjaWVzKkJsZWFjaCpNb250aHMsIGRhdGE9cGh5cykgI0dhdXNzaWFuDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChwcm90ZWluLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KYGBge3J9DQpsaWJyYXJ5KE11TUluKQ0Kc3VtbWFyeShwcm90ZWluLmxtZSkNCnIuc3F1YXJlZEdMTU0ocHJvdGVpbi5sbWUpDQojY29lZihwcm90ZWluLmxtZSkNCmBgYA0KDQojIyNTdGF0cw0KYGBge3J9DQpwcm90ZWluLmxtZSA8LSBsbWUoUHJvdGVpbl9tZy5jbS4yflNwZWNpZXMqQmxlYWNoKk1vbnRocywgcmFuZG9tID0gfjF8Q29yYWxfSUQsIGRhdGE9cGh5cywgbmEuYWN0aW9uPW5hLmV4Y2x1ZGUpDQpjYXI6OkFub3ZhKHByb3RlaW4ubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKHByb3RlaW4ubG1lLCBsaXN0KHBhaXJ3aXNlIH4gU3BlY2llczpNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9IlNwZWNpZXMiKQ0KdHVrZXkzDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KHByb3RlaW4ubG1lKQ0Kci5zcXVhcmVkR0xNTShwcm90ZWluLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKHByb3RlaW4ubG1lKQ0KYGBgDQoNCmBgYHtyfQ0KcHJvdGVpbmF2Zzwtc3VtbWFyeVNFKHBoeXMsIG1lYXN1cmV2YXI9J1Byb3RlaW5fbWcuY20uMicsIGdyb3VwdmFycz1jKCdEYXRlJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpwcm90ZWluYXZnDQpgYGANCg0KDQojIyNGaWd1cmUNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpwcm90ZWluZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUHJvdGVpbn4obWd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KcHJvdGVpbmZpZw0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCnByb3RlaW5fc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nUHJvdGVpbl9tZy5jbS4yJywgZ3JvdXB2YXJzPWMoJ0RhdGUnLCdTcGVjaWVzJywgJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCnByb3RlaW5fc3VtDQpgYGANCg0KYGBge3J9DQpwcm90ZWluZmlnXzM8LWdncGxvdChwcm90ZWluX3N1bSwgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPVByb3RlaW5fbWcuY20uMi1zZSwgeW1heD1Qcm90ZWluX21nLmNtLjIrc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgZ2VvbV9wYXRoKGFlcyhncm91cCA9IGludGVyYWN0aW9uKEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksIGxpbmV0eXBlPSJzb2xpZCIpKw0KICBzY2FsZV94X2RhdGUoYnJlYWtzID0gYXMuRGF0ZShjKCIyMDE5LTEwLTAxIiwiMjAyMC0wMi0wMSIsIjIwMjAtMDYtMDEiLCIyMDIwLTEwLTAxIiwiMjAyMS0wMi0wMSIsIjIwMjEtMDYtMDEiLCIyMDIxLTEwLTAxIiwiMjAyMi0wMi0wMSIsIjIwMjItMDYtMDEiLCIyMDIyLTEwLTAxIikpLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUHJvdGVpbn4obWd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249YygwLjE1LDAuOCksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KcHJvdGVpbmZpZ18zDQpgYGANCg0KYGBge3J9DQpwcm90ZWluZmlnXzI8LWdncGxvdChwcm90ZWluX3N1bSwgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPVByb3RlaW5fbWcuY20uMi1zZSwgeW1heD1Qcm90ZWluX21nLmNtLjIrc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgI2dlb21fcGF0aChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLCBsaW5ldHlwZT0ic29saWQiKSsNCiAgc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJVkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFByb3RlaW5+KG1nfidcVTIyMTknfmNtXnstMn0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dChhbmdsZT05MCx2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPWMoMC4xNSwwLjgpLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMixmYWNlPSJpdGFsaWMiKSkNCnByb3RlaW5maWdfMg0KYGBgDQoNCg0KYGBge3J9DQpwcm90ZWluZmlnXzM8LWdncGxvdChwcm90ZWluX3N1bSwgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPVByb3RlaW5fbWcuY20uMi1zZSwgeW1heD1Qcm90ZWluX21nLmNtLjIrc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgZ2VvbV9wYXRoKGFlcyhncm91cCA9IGludGVyYWN0aW9uKEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksIGxpbmV0eXBlPSJzb2xpZCIpKw0KICBzY2FsZV94X2RhdGUoYnJlYWtzID0gYXMuRGF0ZShjKCIyMDE5LTEwLTAxIiwiMjAyMC0wMi0wMSIsIjIwMjAtMDYtMDEiLCIyMDIwLTEwLTAxIiwiMjAyMS0wMi0wMSIsIjIwMjEtMDYtMDEiLCIyMDIxLTEwLTAxIiwiMjAyMi0wMi0wMSIsIjIwMjItMDYtMDEiLCIyMDIyLTEwLTAxIikpLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUHJvdGVpbn4obWd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249YygwLjE1LDAuOCksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KcHJvdGVpbmZpZ18zDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoUm1pc2MpDQpwcm90ZWluX3N0cmVzczwtc3VtbWFyeVNFKHBoeXNfc3RyZXNzLCBtZWFzdXJldmFyPSdQcm90ZWluX21nLmNtLjInLCBncm91cHZhcnM9YygnTW9udGhzJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpwcm90ZWluX3N0cmVzcw0KYGBgDQoNCg0KYGBge3J9DQpwcm90ZWluX3N0cmVzc19maWc8LWdncGxvdChwcm90ZWluX3N0cmVzcywgYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVByb3RlaW5fbWcuY20uMiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuOSxwb3NpdGlvbj1wb3NpdGlvbl9qaXR0ZXJkb2RnZSgpKSsNCiAgZ2VvbV9ib3hwbG90KGRhdGE9cGh5c19zdHJlc3MsYWVzKHk9UHJvdGVpbl9tZy5jbS4yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUHJvdGVpbn4obWd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpwcm90ZWluX3N0cmVzc19maWcNCmBgYA0KDQoNCmBgYHtyfQ0KcGQ8LSBwb3NpdGlvbl9kb2RnZSgwLjMpDQojcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpwcm90ZWluX3N0cmVzc19maWcyPC1nZ3Bsb3QocHJvdGVpbl9zdHJlc3MsIGFlcyh5PVByb3RlaW5fbWcuY20uMiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogICNnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1Qcm90ZWluX21nLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjYpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVByb3RlaW5fbWcuY20uMiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNikrDQogIGdlb21fcG9pbnQoc2l6ZT0xLjUsIHBvc2l0aW9uPSBwZCkrDQogIGdlb21fZXJyb3JiYXIoYWVzKHltaW49UHJvdGVpbl9tZy5jbS4yLXNlLCB5bWF4PVByb3RlaW5fbWcuY20uMitzZSksIHN0YXQ9ImlkZW50aXR5Iix3aWR0aD0wLjUsIHBvc2l0aW9uPXBkKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIGdlb21fcGF0aChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihQcm90ZWlufihtZ34nXFUyMjE5J35jbV57LTJ9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnByb3RlaW5fc3RyZXNzX2ZpZzINCmBgYA0KDQoNCiMjQUZEVw0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRBRkRXX21nLmNtLjIpDQpgYGANCg0KYGBge3J9DQpBRkRXLmxtPC0gbG0oQUZEV19tZy5jbS4yflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KEFGRFcubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQoNCiMjI1N0YXRzDQpgYGB7cn0NCkFGRFcubG1lIDwtIGxtZShBRkRXX21nLmNtLjJ+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoQUZEVy5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoQUZEVy5sbWUsIGxpc3QocGFpcndpc2UgfiBTcGVjaWVzOk1vbnRocyksIGFkanVzdCA9ICJ0dWtleSIsIHNpbXBsZT0iTW9udGhzIikNCnR1a2V5Mw0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShBRkRXLmxtZSkNCnIuc3F1YXJlZEdMTU0oQUZEVy5sbWUpDQpgYGANCiMjIyNDb2VmZmljaWVudHMNCmBgYHtyfQ0KY29lZihBRkRXLmxtZSkNCmBgYA0KDQojIyNGaWd1cmUNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpBRkRXZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9QUZEV19tZy5jbS4yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oVG90YWx+YmlvbWFzc34obWd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KQUZEV2ZpZw0KYGBgDQoNCmBgYHtyfQ0KcGQ8LSBwb3NpdGlvbl9kb2RnZSgwLjMpDQojcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpBRkRXX3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9QUZEV19tZy5jbS4yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiBnZW9tX3BvaW50KGRhdGE9cGh5c19zdHJlc3MsYWVzKHk9QUZEV19tZy5jbS4yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1BRkRXX21nLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjUsIGNvbG9yPSJibGFjayIsIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogICNnZW9tX3BvaW50KHNpemU9MS41LCBwb3NpdGlvbj0gcGQpKw0KICAjZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1Qcm90ZWluX21nLmNtLjItc2UsIHltYXg9UHJvdGVpbl9tZy5jbS4yK3NlKSwgc3RhdD0iaWRlbnRpdHkiLHdpZHRoPTAuNSwgcG9zaXRpb249cGQpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUb3RhbH5iaW9tYXNzfihtZ34nXFUyMjE5J35jbV57LTJ9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCkFGRFdfc3RyZXNzX2ZpZw0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCkFGRFdfc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nQUZEV19tZy5jbS4yJywgZ3JvdXB2YXJzPWMoJ0RhdGUnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpBRkRXX3N1bQ0KYGBgDQoNCmBgYHtyfQ0KQUZEV2ZpZ18zPC1nZ3Bsb3QoQUZEV19zdW0sIGFlcyh5PUFGRFdfbWcuY20uMiwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PUFGRFdfbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1BRkRXX21nLmNtLjItc2UsIHltYXg9QUZEV19tZy5jbS4yK3NlKSwgd2lkdGg9IDAuNywgIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksc3RhdD0iaWRlbnRpdHkiKSArDQogIGdlb21fcGF0aChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLCBsaW5ldHlwZT0ic29saWQiKSsNCiAgc2NhbGVfeF9kYXRlKGJyZWFrcyA9IGFzLkRhdGUoYygiMjAxOS0xMC0wMSIsIjIwMjAtMDItMDEiLCIyMDIwLTA2LTAxIiwiMjAyMC0xMC0wMSIsIjIwMjEtMDItMDEiLCIyMDIxLTA2LTAxIiwiMjAyMS0xMC0wMSIsIjIwMjItMDItMDEiLCIyMDIyLTA2LTAxIiwiMjAyMi0xMC0wMSIpKSwgZGF0ZV9sYWJlbHMgPSAiJWIgJVkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKEFGRFd+KG1nfidcVTIyMTknfmNtXnstMn0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dChhbmdsZT05MCx2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsZmFjZT0iaXRhbGljIikpDQpBRkRXZmlnXzMNCmBgYA0KDQojI0xpcGlkcw0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRMaXBpZC4uZy5wZXIuY20yLikNCmBgYA0KDQpgYGB7cn0NCmxpcGlkLmxtPC0gbG0oTGlwaWQuLmcucGVyLmNtMi5+U3BlY2llcypCbGVhY2gqTW9udGhzLCBkYXRhPXBoeXMpICNHYXVzc2lhbg0KcGFyKG1mcm93PWMoMiwzKSkNCnBsb3QobGlwaWQubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQoNCiMjI1N0YXRzDQpgYGB7cn0NCmxpcGlkLmxtZSA8LSBsbWUoTGlwaWQuLmcucGVyLmNtMi5+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEobGlwaWQubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKGxpcGlkLmxtZSwgbGlzdChwYWlyd2lzZSB+IFNwZWNpZXM6TW9udGhzKSwgYWRqdXN0ID0gInR1a2V5Iiwgc2ltcGxlPSJNb250aHMiKQ0KdHVrZXkzDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KGxpcGlkLmxtZSkNCnIuc3F1YXJlZEdMTU0obGlwaWQubG1lKQ0KYGBgDQojIyMjQ29lZmZpY2llbnRzDQpgYGB7cn0NCmNvZWYobGlwaWQubG1lKQ0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmxpcGlkZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9TGlwaWQuLmcucGVyLmNtMi4sIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihMaXBpZHN+KGd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KbGlwaWRmaWcNCmBgYA0KDQpgYGB7cn0NCnBkPC0gcG9zaXRpb25fZG9kZ2UoMC4zKQ0KI3BoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KbGlwaWRfc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1MaXBpZC4uZy5wZXIuY20yLiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PUxpcGlkLi5nLnBlci5jbTIuLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1MaXBpZC4uZy5wZXIuY20yLiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNSwgY29sb3I9ImJsYWNrIiwgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgI2dlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1Qcm90ZWluX21nLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjYpKw0KICAjZ2VvbV9wb2ludChzaXplPTEuNSwgcG9zaXRpb249IHBkKSsNCiAgI2dlb21fZXJyb3JiYXIoYWVzKHltaW49UHJvdGVpbl9tZy5jbS4yLXNlLCB5bWF4PVByb3RlaW5fbWcuY20uMitzZSksIHN0YXQ9ImlkZW50aXR5Iix3aWR0aD0wLjUsIHBvc2l0aW9uPXBkKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogICNzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oTGlwaWRzfihnfidcVTIyMTknfmNtXnstMn0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KbGlwaWRfc3RyZXNzX2ZpZw0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoUm1pc2MpDQpsaXBpZF9zdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyPSdMaXBpZC4uZy5wZXIuY20yLicsIGdyb3VwdmFycz1jKCdEYXRlJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpsaXBpZF9zdW0NCmBgYA0KDQpgYGB7cn0NCmxpcGlkZmlnXzM8LWdncGxvdChsaXBpZF9zdW0sIGFlcyh5PUxpcGlkLi5nLnBlci5jbTIuLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9bGlwaWRfbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1MaXBpZC4uZy5wZXIuY20yLi1zZSwgeW1heD1MaXBpZC4uZy5wZXIuY20yLitzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihMaXBpZH4oZ34nXFUyMjE5J35jbV57LTJ9KSksIGxpbWl0cz1jKDAsMTUpLGJyZWFrcz1jKDAsNSwxMCwxNSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KbGlwaWRmaWdfMw0KYGBgDQoNCiMjVEFDDQojIyNOb3JtYWxpdHkNCmBgYHtyfQ0KaGlzdChwaHlzJFRBQ19DUkUubWdwcm90ZWluLjEpDQpgYGANCg0KYGBge3J9DQp0YWMubG08LSBsbShUQUNfQ1JFLm1ncHJvdGVpbi4xflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KHRhYy5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCg0KIyMjU3RhdHMNCmBgYHtyfQ0KdGFjLmxtZSA8LSBsbWUoVEFDX0NSRS5tZ3Byb3RlaW4uMX5TcGVjaWVzKkJsZWFjaCpNb250aHMsIHJhbmRvbSA9IH4xfENvcmFsX0lELCBkYXRhPXBoeXMsIG5hLmFjdGlvbj1uYS5leGNsdWRlKQ0KY2FyOjpBbm92YSh0YWMubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKHRhYy5sbWUsIGxpc3QocGFpcndpc2UgfiBTcGVjaWVzOk1vbnRocyksIGFkanVzdCA9ICJ0dWtleSIsIHNpbXBsZT0iTW9udGhzIikNCnR1a2V5Mw0KYGBgDQpgYGB7cn0NCnN1bW1hcnkodGFjLmxtZSkNCnIuc3F1YXJlZEdMTU0odGFjLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKHRhYy5sbWUpDQpgYGANCg0KYGBge3J9DQp0YWNzdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyID0gIlRBQ19DUkUubWdwcm90ZWluLjEiLCBncm91cHZhcnMgPSBjKCJTcGVjaWVzIiwgIk1vbnRocyIsICJCbGVhY2giKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQp0YWNzdW0NCmBgYA0KDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCnRhY2ZpZzwtZ2dwbG90KHBoeXMsIGFlcyh5PVRBQ19DUkUubWdwcm90ZWluLjEsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUQUN+KG11fm1vbH5DUkV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQp0YWNmaWcNCmBgYA0KDQoNCmBgYHtyfQ0KcGQ8LSBwb3NpdGlvbl9kb2RnZSgwLjMpDQojcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQp0YWNfc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1UQUNfQ1JFLm1ncHJvdGVpbi4xLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCmdlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1UQUNfQ1JFLm1ncHJvdGVpbi4xLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1UQUNfQ1JFLm1ncHJvdGVpbi4xLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVByb3RlaW5fbWcuY20uMiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNikrDQogICNnZW9tX3BvaW50KHNpemU9MS41LCBwb3NpdGlvbj0gcGQpKw0KICAjZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1Qcm90ZWluX21nLmNtLjItc2UsIHltYXg9UHJvdGVpbl9tZy5jbS4yK3NlKSwgc3RhdD0iaWRlbnRpdHkiLHdpZHRoPTAuNSwgcG9zaXRpb249cGQpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUQUN+KG11fm1vbH5DUkV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnRhY19zdHJlc3NfZmlnDQpgYGANCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCnRhY19zdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyPSdUQUNfQ1JFLm1ncHJvdGVpbi4xJywgZ3JvdXB2YXJzPWMoJ0RhdGUnLCdTcGVjaWVzJywgJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCnRhY19zdW0NCmBgYA0KDQpgYGB7cn0NCnRhY2ZpZ18zPC1nZ3Bsb3QodGFjX3N1bSwgYWVzKHk9VEFDX0NSRS5tZ3Byb3RlaW4uMSwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PXRhY19tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPVRBQ19DUkUubWdwcm90ZWluLjEtc2UsIHltYXg9VEFDX0NSRS5tZ3Byb3RlaW4uMStzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUQUN+KG11fm1vbH5DUkV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KdGFjZmlnXzMNCmBgYA0KDQoNCiMjQ2l0cmF0ZSBzeW50aGFzZQ0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRDaXRyYXRlLnN5bnRoYXNlLm1VLm1nLnByb3RlaW4uMSkNCmBgYA0KDQpgYGB7cn0NCmNzLmxtPC0gbG0oQ2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjF+U3BlY2llcypCbGVhY2gqTW9udGhzLCBkYXRhPXBoeXMpICNHYXVzc2lhbg0KcGFyKG1mcm93PWMoMiwzKSkNCnBsb3QoY3MubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQoNCiMjI1N0YXRzDQpgYGB7cn0NCmNzLmxtZSA8LSBsbWUoQ2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjF+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoY3MubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKGNzLmxtZSwgbGlzdChwYWlyd2lzZSB+IEJsZWFjaCksIGFkanVzdCA9ICJ0dWtleSIpDQp0dWtleTMNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoY3MubG1lKQ0Kci5zcXVhcmVkR0xNTShjcy5sbWUpDQpgYGANCiMjIyNDb2VmZmljaWVudHMNCmBgYHtyfQ0KY29lZihjcy5sbWUpDQpgYGANCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmNzZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9Q2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjEsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcywgc2NhbGVzPSJmcmVlIikrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDU35TcGVjaWZpY35BY3Rpdml0eX4obVV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpjc2ZpZw0KYGBgDQoNCmBgYHtyfQ0KY3NmaWcyPC1nZ3Bsb3QocGh5cywgYWVzKHk9Q2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjEsIHg9U3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjIsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJsbSIpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpjc2ZpZzIgIyN0aGlzIGZvbGxvd3MgdGhlIHBhdHRlcm5zIHNlZW4gaW4gSGF3a2lucyBldCBhbCAyMDE2DQpgYGANCmBgYHtyfQ0KY3NmaWczPC1nZ3Bsb3QocGh5cywgYWVzKHk9UmFicywgeD1DaXRyYXRlLnN5bnRoYXNlLm1VLm1nLnByb3RlaW4uMSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImxtIikrDQogICNnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZT0ic29saWQiLCBjb2xvciA9ICdibGFjaycsIHNpemU9MC43LCBzaG93LmxlZ2VuZCA9IFRSVUUpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzLCBzY2FsZXMgPSAiZnJlZSIpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmNzZmlnMyAjI3RoaXMgZm9sbG93cyB0aGUgcGF0dGVybnMgc2VlbiBpbiBIYXdraW5zIGV0IGFsIDIwMTYNCmBgYA0KDQoNCmBgYHtyfQ0KY3NmaWczPC1nZ3Bsb3QocGh5cywgYWVzKHk9UmFicywgeD1DaXRyYXRlLnN5bnRoYXNlLm1VLm1nLnByb3RlaW4uMSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImxtIikrDQogICNnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZT0ic29saWQiLCBjb2xvciA9ICdibGFjaycsIHNpemU9MC43LCBzaG93LmxlZ2VuZCA9IFRSVUUpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzLCBzY2FsZXMgPSAiZnJlZSIpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihSZXNwaXJhdGlvbn4obXV+bW9sfidcVTIyMTknfmheey0xfX4nXFUyMjE5J35jbV57LTJ9KSkpKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDU35TcGVjaWZpY35BY3Rpdml0eX4obVV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmNzZmlnMyAjI3RoaXMgZm9sbG93cyB0aGUgcGF0dGVybnMgc2VlbiBpbiBIYXdraW5zIGV0IGFsIDIwMTYNCmBgYA0KYGBge3J9DQpjc2ZpZzQ8LWdncGxvdChwaHlzLCBhZXMoeT1SYWJzLCB4PUNpdHJhdGUuc3ludGhhc2UubVUubWcucHJvdGVpbi4xKSkrIA0KICBnZW9tX3BvaW50KGFlcyhjb2xvcj1CbGVhY2gpLGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0ibG0iLGNvbG9yID0gJ2JsYWNrJywpKw0KICAjZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMCwgbGluZXR5cGU9InNvbGlkIiwgIHNpemU9MC43LCBzaG93LmxlZ2VuZCA9IFRSVUUpKw0KICAjZmFjZXRfd3JhcCh+U3BlY2llcywgc2NhbGVzID0gImZyZWUiKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUmVzcGlyYXRpb25+KG11fm1vbH4nXFUyMjE5J35oXnstMX1+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKGV4cHJlc3Npb24oQ1N+U3BlY2lmaWN+QWN0aXZpdHl+KG1VfidcVTIyMTknfm1nfnByb3RlaW5eey0xfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpjc2ZpZzQgIyN0aGlzIGZvbGxvd3MgdGhlIHBhdHRlcm5zIHNlZW4gaW4gSGF3a2lucyBldCBhbCAyMDE2DQpgYGANCmBgYHtyfQ0KY3NmaWdzPC1jb3dwbG90OjpwbG90X2dyaWQoY3NmaWc0LCBjc2ZpZzMsIG5yb3cgPSAxLCBuY29sID0gMiwgcmVsX2hlaWdodHMgPSBjKDEsMi41KSwgbGFiZWxzPWMoJyhhKScsJyhiKScpKQ0KY3NmaWdzDQpgYGANCg0KYGBge3J9DQpwZDwtIHBvc2l0aW9uX2RvZGdlKDAuMykNCiNwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmNzX3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9Q2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjEsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX2JveHBsb3QoYWxwaGE9MC42KSsNCiAgI2dlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1Qcm90ZWluX21nLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjYpKw0KICAjZ2VvbV9wb2ludChzaXplPTEuNSwgcG9zaXRpb249IHBkKSsNCiAgI2dlb21fZXJyb3JiYXIoYWVzKHltaW49UHJvdGVpbl9tZy5jbS4yLXNlLCB5bWF4PVByb3RlaW5fbWcuY20uMitzZSksIHN0YXQ9ImlkZW50aXR5Iix3aWR0aD0wLjUsIHBvc2l0aW9uPXBkKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogICNzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oQ1N+U3BlY2lmaWN+QWN0aXZpdHl+KFV+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmNzX3N0cmVzc19maWcNCmBgYA0KYGBge3J9DQpsaWJyYXJ5KFJtaXNjKQ0KY3Nfc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nQ2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjEnLCBncm91cHZhcnM9YygnRGF0ZScsJ1NwZWNpZXMnLCAnQmxlYWNoJyksIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0KY3Nfc3VtDQpgYGANCg0KYGBge3J9DQpjc2ZpZ18zPC1nZ3Bsb3QoY3Nfc3VtLCBhZXMoeT1DaXRyYXRlLnN5bnRoYXNlLm1VLm1nLnByb3RlaW4uMSwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PWNzX21nLmNtLjIsIHg9RGF0ZSksIGFscGhhPTAuNCkrDQogICNnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MyksIHNlPUYpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzKSsNCiAgZ2VvbV9saW5lcmFuZ2UoYWVzKHltaW49Q2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjEtc2UsIHltYXg9Q2l0cmF0ZS5zeW50aGFzZS5tVS5tZy5wcm90ZWluLjErc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgZ2VvbV9wYXRoKGFlcyhncm91cCA9IGludGVyYWN0aW9uKEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksIGxpbmV0eXBlPSJzb2xpZCIpKw0KICBzY2FsZV94X2RhdGUoYnJlYWtzID0gYXMuRGF0ZShjKCIyMDE5LTEwLTAxIiwiMjAyMC0wMi0wMSIsIjIwMjAtMDYtMDEiLCIyMDIwLTEwLTAxIiwiMjAyMS0wMi0wMSIsIjIwMjEtMDYtMDEiLCIyMDIxLTEwLTAxIiwiMjAyMi0wMi0wMSIsIjIwMjItMDYtMDEiLCIyMDIyLTEwLTAxIikpLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDU35TcGVjaWZpY35BY3Rpdml0eX4oVX4nXFUyMjE5J35tZ35wcm90ZWluXnstMX0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dChhbmdsZT05MCx2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsZmFjZT0iaXRhbGljIikpDQpjc2ZpZ18zDQpgYGANCg0KYGBge3J9DQpjc2ZpZ3M8LWNvd3Bsb3Q6OnBsb3RfZ3JpZChjc2ZpZywgY3NmaWcyLCBucm93ID0gMiwgbmNvbCA9IDEpDQpjc2ZpZ3MNCmBgYA0KDQoNCiMjU3ltYmlvbnQgZGVuc2l0eQ0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRTeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMikNCmBgYA0KDQpgYGB7cn0NCnN5bS5sbTwtIGxtKFN5bS5kZW5zaXR5XzEwLjZjZWxscy5jbS4yflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KHN5bS5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCg0KIyMjU3RhdHMNCmBgYHtyfQ0Kc3ltLmxtZSA8LSBsbWUoU3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjJ+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoc3ltLmxtZSwgdHlwZT0zKQ0KdHVrZXkzPC0gZW1tZWFucyhzeW0ubG1lLCBsaXN0KHBhaXJ3aXNlIH4gU3BlY2llczpNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9Ik1vbnRocyIpDQp0dWtleTMNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoc3ltLmxtZSkNCnIuc3F1YXJlZEdMTU0oc3ltLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKHN5bS5sbWUpDQpgYGANCg0KIyMjRmlndXJlDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0Kc3ltZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9U3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjIsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihTeW1iaW9udH5kZW5zaXR5figxMF57Nn1+Y2VsbHN+J1xVMjIxOSd+Y21eey0yfSkpLCBsaW1pdHM9YygtMCw1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIsIGFuZ2xlPTkwKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnN5bWZpZw0KYGBgDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0Kc3ltX3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9U3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGRhdGE9cGh5c19zdHJlc3MsYWVzKHk9U3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjkscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoKSkrDQogIGdlb21fYm94cGxvdChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVN5bS5kZW5zaXR5XzEwLjZjZWxscy5jbS4yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBnZW9tX2JveHBsb3QoYWxwaGE9MC42LCAgb3V0bGllci5zaGFwZSA9IE5BLCBjb2xvcj0iYmxhY2siKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogICNzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oU3ltYmlvbnR+ZGVuc2l0eX4oMTBeezZ9fmNlbGxzfidcVTIyMTknfmNtXnstMn0pKSwgbGltaXRzPWMoMCw1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0Kc3ltX3N0cmVzc19maWcNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoUm1pc2MpDQpzeW1fc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nU3ltLmRlbnNpdHlfMTAuNmNlbGxzLmNtLjInLCBncm91cHZhcnM9YygnRGF0ZScsJ1NwZWNpZXMnLCAnQmxlYWNoJyksIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0Kc3ltX3N1bQ0KYGBgDQoNCmBgYHtyfQ0Kc3ltZmlnXzM8LWdncGxvdChzeW1fc3VtLCBhZXMoeT1TeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMiwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PXN5bV9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAic3ltIiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1TeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMi1zZSwgeW1heD1TeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMitzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihTeW1iaW9udH5kZW5zaXR5figxMF57Nn1+Y2VsbHN+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMixmYWNlPSJpdGFsaWMiKSkNCnN5bWZpZ18zDQpgYGANCg0KYGBge3J9DQpsbWZpZzwtZ2dwbG90KHBoeXMsIGFlcyh5PVN5bS5kZW5zaXR5XzEwLjZjZWxscy5jbS4yLCB4PUFGRFdfbWcuY20uMiwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImxtIikrDQogICNmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpsbWZpZyAjI3RoaXMgZm9sbG93cyB0aGUgcGF0dGVybnMgc2VlbiBpbiBIYXdraW5zIGV0IGFsIDIwMTYNCmBgYA0KDQojI0NobG9ycGh5bGwgYQ0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRDaGwuYV91Zy5jbTIpDQpgYGANCg0KYGBge3J9DQpjaGxhLmxtPC0gbG0oQ2hsLmFfdWcuY20yflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KGNobGEubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQoNCiMjI1N0YXRzDQpgYGB7cn0NCmNobGEubG1lIDwtIGxtZShDaGwuYV91Zy5jbTJ+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoY2hsYS5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoY2hsYS5sbWUsIGxpc3QocGFpcndpc2UgfiBNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiKQ0KdHVrZXkzDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KGNobGEubG1lKQ0Kci5zcXVhcmVkR0xNTShjaGxhLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKGNobGEubG1lKQ0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmNobGFmaWc8LWdncGxvdChwaHlzLCBhZXMoeT1DaGwuYV91Zy5jbTIsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDaGxvcm9waHlsbH5pdGFsaWMoYSl+KG11fmd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KY2hsYWZpZw0KYGBgDQoNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpjaGxhX3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9Q2hsLmFfdWcuY20yLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCmdlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1DaGwuYV91Zy5jbTIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjkscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoKSkrDQogIGdlb21fYm94cGxvdChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PUNobC5hX3VnLmNtMiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNSwgY29sb3I9ImJsYWNrIiwgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZ2VvbV9ib3hwbG90KGFscGhhPTAuNiwgIG91dGxpZXIuc2hhcGUgPSBOQSwgY29sb3I9ImJsYWNrIikrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICAjc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENobG9yb3BoeWxsfml0YWxpYyhhKX4obXV+Z34nXFUyMjE5J35jbV57LTJ9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmNobGFfc3RyZXNzX2ZpZw0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCmNobGFfc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nQ2hsLmFfdWcuY20yJywgZ3JvdXB2YXJzPWMoJ0RhdGUnLCdTcGVjaWVzJywgJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCmNobGFfc3VtDQpgYGANCg0KYGBge3J9DQpjaGxhZmlnXzM8LWdncGxvdChjaGxhX3N1bSwgYWVzKHk9Q2hsLmFfdWcuY20yLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9Y2hsYV9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY2hsYSIsIGs9MyksIHNlPUYpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzKSsNCiAgZ2VvbV9saW5lcmFuZ2UoYWVzKHltaW49Q2hsLmFfdWcuY20yLXNlLCB5bWF4PUNobC5hX3VnLmNtMitzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDaGxvcm9waHlsbH5pdGFsaWMoYSl+KG11fmd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMixmYWNlPSJpdGFsaWMiKSkNCmNobGFmaWdfMw0KYGBgDQoNCiMjQ2hsb3JwaHlsbCBhIHBlciBzeW1iaW9udA0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRwZy5DaGwuYS5wZXIuem9veCkNCmBgYA0KDQpgYGB7cn0NCmNobGEubG08LSBsbShwZy5DaGwuYS5wZXIuem9veH5TcGVjaWVzKkJsZWFjaCpNb250aHMsIGRhdGE9cGh5cykgI0dhdXNzaWFuDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChjaGxhLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KDQojIyNTdGF0cw0KYGBge3J9DQpjaGxhLmxtZSA8LSBsbWUocGcuQ2hsLmEucGVyLnpvb3h+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoY2hsYS5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoY2hsYS5sbWUsIGxpc3QocGFpcndpc2UgfiBTcGVjaWVzOk1vbnRocyksIGFkanVzdCA9ICJ0dWtleSIsIHNpbXBsZT0iTW9udGhzIikNCnR1a2V5Mw0KYGBgDQojIyNGaWd1cmUNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpjaGxhZmlnMjwtZ2dwbG90KHBoeXMsIGFlcyh5PXBnLkNobC5hLnBlci56b294LCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oQ2hsb3JvcGh5bGx+aXRhbGljKGEpfihwZ34nXFUyMjE5J35jZWxsXnstMX0pKSwgbGltaXRzPWMoMCw1MCkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpjaGxhZmlnMg0KYGBgDQoNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpjaGxhX3N0cmVzc19maWcyPC1nZ3Bsb3QocGh5c19zdHJlc3MsIGFlcyh5PXBnLkNobC5hLnBlci56b294LCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgI2dlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogIGdlb21fYm94cGxvdChhbHBoYT0wLjYsICBvdXRsaWVyLnNoYXBlID0gTkEsIGNvbG9yPSJibGFjayIpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDaGxvcm9waHlsbH5pdGFsaWMoYSl+KHBnfidcVTIyMTknfmNlbGxeey0xfSkpLCBsaW1pdHM9YygwLDUwKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KY2hsYV9zdHJlc3NfZmlnMg0KYGBgDQoNCg0KYGBge3J9DQpsaWJyYXJ5KFJtaXNjKQ0KY2hsYWNlbGxfc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0ncGcuQ2hsLmEucGVyLnpvb3gnLCBncm91cHZhcnM9YygnRGF0ZScsJ1NwZWNpZXMnLCAnQmxlYWNoJyksIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0KY2hsYWNlbGxfc3VtDQpgYGANCg0KYGBge3J9DQpjaGxhY2VsbGZpZ18zPC1nZ3Bsb3QoY2hsYWNlbGxfc3VtLCBhZXMoeT1wZy5DaGwuYS5wZXIuem9veCwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PWNobGFjZWxsX21nLmNtLjIsIHg9RGF0ZSksIGFscGhhPTAuNCkrDQogICNnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjaGxhY2VsbCIsIGs9MyksIHNlPUYpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzKSsNCiAgZ2VvbV9saW5lcmFuZ2UoYWVzKHltaW49cGcuQ2hsLmEucGVyLnpvb3gtc2UsIHltYXg9cGcuQ2hsLmEucGVyLnpvb3grc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgZ2VvbV9wYXRoKGFlcyhncm91cCA9IGludGVyYWN0aW9uKEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksIGxpbmV0eXBlPSJzb2xpZCIpKw0KICBzY2FsZV94X2RhdGUoYnJlYWtzID0gYXMuRGF0ZShjKCIyMDE5LTEwLTAxIiwiMjAyMC0wMi0wMSIsIjIwMjAtMDYtMDEiLCIyMDIwLTEwLTAxIiwiMjAyMS0wMi0wMSIsIjIwMjEtMDYtMDEiLCIyMDIxLTEwLTAxIiwiMjAyMi0wMi0wMSIsIjIwMjItMDYtMDEiLCIyMDIyLTEwLTAxIikpLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oQ2hsb3JvcGh5bGx+aXRhbGljKGEpfihwZ34nXFUyMjE5J35jZWxsXnstMX0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dChhbmdsZT05MCx2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsZmFjZT0iaXRhbGljIikpDQpjaGxhY2VsbGZpZ18zDQpgYGANCg0KDQojI01lbGFuaW4NCg0KIyMjTm9ybWFsaXR5DQoNCmBgYHtyfQ0KaGlzdChwaHlzJE1lbGFuaW5fcGVyX3Rpc3N1ZSkNCmBgYA0KYGBge3J9DQptZWwubG08LSBsbShNZWxhbmluX3Blcl90aXNzdWV+U3BlY2llcypCbGVhY2gqTW9udGhzLCBkYXRhPXBoeXMpICNHYXVzc2lhbg0KcGFyKG1mcm93PWMoMiwzKSkNCnBsb3QobWVsLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KDQojIyNTdGF0cw0KYGBge3J9DQptZWwubG1lIDwtIGxtZShNZWxhbmluX3Blcl90aXNzdWV+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEobWVsLmxtZSwgdHlwZT0zKQ0KdHVrZXkzPC0gZW1tZWFucyhtZWwubG1lLCBsaXN0KHBhaXJ3aXNlIH4gU3BlY2llczpNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9Ik1vbnRocyIpDQp0dWtleTMNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkobWVsLmxtZSkNCnIuc3F1YXJlZEdMTU0obWVsLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKG1lbC5sbWUpDQpgYGANCiMjI0ZpZ3VyZQ0KDQpgYGB7cn0NCiNtZWwkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChtZWwkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQptZWxmaWc8LWdncGxvdChwaHlzLCBhZXMoeT1NZWxhbmluX3Blcl90aXNzdWUsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihNZWxhbmlufihtZ35tZWxhbmlufidcVTIyMTknfm1nfnRpc3N1ZV57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQptZWxmaWcNCmBgYA0KDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KbWVsX3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9TWVsYW5pbl9wZXJfdGlzc3VlLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCmdlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1NZWxhbmluX3Blcl90aXNzdWUsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjkscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoKSkrDQogIGdlb21fYm94cGxvdChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PU1lbGFuaW5fcGVyX3Rpc3N1ZSwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNSwgY29sb3I9ImJsYWNrIiwgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZ2VvbV9ib3hwbG90KGFscGhhPTAuNiwgIG91dGxpZXIuc2hhcGUgPSBOQSwgY29sb3I9ImJsYWNrIikrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICAjc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKE1lbGFuaW5+YWN0aXZpdHl+KERlbHRhfkFic340OTB+bm1+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9fidcVTIyMTknfm1pbl57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCm1lbF9zdHJlc3NfZmlnDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KFJtaXNjKQ0KbWVsX3N1bTwtc3VtbWFyeVNFKHBoeXMsIG1lYXN1cmV2YXI9J01lbGFuaW5fcGVyX3Rpc3N1ZScsIGdyb3VwdmFycz1jKCdEYXRlJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQptZWxfc3VtDQpgYGANCg0KYGBge3J9DQptZWxmaWdfMzwtZ2dwbG90KG1lbF9zdW0sIGFlcyh5PU1lbGFuaW5fcGVyX3Rpc3N1ZSwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PW1lbF9tZy5jbS4yLCB4PURhdGUpLCBhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAibWVsIiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1NZWxhbmluX3Blcl90aXNzdWUtc2UsIHltYXg9TWVsYW5pbl9wZXJfdGlzc3VlK3NlKSwgd2lkdGg9IDAuNywgIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksc3RhdD0iaWRlbnRpdHkiKSArDQogIGdlb21fcGF0aChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLCBsaW5ldHlwZT0ic29saWQiKSsNCiAgc2NhbGVfeF9kYXRlKGJyZWFrcyA9IGFzLkRhdGUoYygiMjAxOS0xMC0wMSIsIjIwMjAtMDItMDEiLCIyMDIwLTA2LTAxIiwiMjAyMC0xMC0wMSIsIjIwMjEtMDItMDEiLCIyMDIxLTA2LTAxIiwiMjAyMS0xMC0wMSIsIjIwMjItMDItMDEiLCIyMDIyLTA2LTAxIiwiMjAyMi0xMC0wMSIpKSwgZGF0ZV9sYWJlbHMgPSAiJWIgJVkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKE1lbGFuaW5+YWN0aXZpdHl+KERlbHRhfkFic340OTB+bm1+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9fidcVTIyMTknfm1pbl57LTF9KSksIGxpbWl0cz1jKDAsMC4wMDMpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMixmYWNlPSJpdGFsaWMiKSkNCm1lbGZpZ18zDQpgYGANCg0KIyNQUE8NCg0KYGBge3J9DQpwcG88LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL1BQTyBhbGwgUi5jc3YiLCBzdHJpcC53aGl0ZT1UKQ0KcHBvJERhdGU8LSBhcy5EYXRlKHBwbyREYXRlLCBmb3JtYXQgPSAiJVktJW0tJWQiKQ0KcHBvJEJsZWFjaDwtYXMuZmFjdG9yKHBwbyRCbGVhY2gpDQojcHBvJE1vbnRoczwtYXMuZmFjdG9yKHBwbyRNb250aHMpDQpwcG8kU3BlY2llczwtYXMuZmFjdG9yKHBwbyRTcGVjaWVzKQ0KcHBvJENvcmFsX0lEPC1hcy5mYWN0b3IocHBvJENvcmFsX0lEKQ0KcHBvDQpgYGANCiMjI05vcm1hbGl0eQ0KDQpgYGB7cn0NCmhpc3QocGh5cyRQUE8pDQpgYGANCg0KYGBge3J9DQpwcG8ubG08LSBsbShQUE9+U3BlY2llcypCbGVhY2gqTW9udGhzLCBkYXRhPXBoeXMpICNHYXVzc2lhbg0KcGFyKG1mcm93PWMoMiwzKSkNCnBsb3QocHBvLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KDQojIyNTdGF0cw0KYGBge3J9DQpwcG8ubG1lIDwtIGxtZShQUE9+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEocHBvLmxtZSwgdHlwZT0zKQ0KdHVrZXkzPC0gZW1tZWFucyhwcG8ubG1lLCBsaXN0KHBhaXJ3aXNlIH4gU3BlY2llczpCbGVhY2g6TW9udGhzKSwgYWRqdXN0ID0gInR1a2V5Iiwgc2ltcGxlPSJNb250aHMiKQ0KdHVrZXkzDQpgYGANCmBgYHtyfQ0Kc3VtbWFyeShwcG8ubG1lKQ0Kci5zcXVhcmVkR0xNTShwcG8ubG1lKQ0KYGBgDQojIyMjQ29lZmZpY2llbnRzDQpgYGB7cn0NCmNvZWYocHBvLmxtZSkNCmBgYA0KIyMjRmlndXJlDQoNCmBgYHtyfQ0KI3BwbyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBwbyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCnBwb2ZpZzwtZ2dwbG90KHBoeXMsIGFlcyh5PVBQTywgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFBQT35hY3Rpdml0eX4oRGVsdGF+QWJzfjQ5MH5ubX4nXFUyMjE5J35tZ35wcm90ZWluXnstMX1+J1xVMjIxOSd+bWluXnstMX0pKSwgbGltaXRzPWMoLTAuMSwxLjc1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIsIGFuZ2xlPTkwKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnBwb2ZpZw0KYGBgDQoNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpwcG9fc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1QUE8sIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVBQTywgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuOSxwb3NpdGlvbj1wb3NpdGlvbl9qaXR0ZXJkb2RnZSgpKSsNCiAgZ2VvbV9ib3hwbG90KGRhdGE9cGh5c19zdHJlc3MsYWVzKHk9UFBPLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBnZW9tX2JveHBsb3QoYWxwaGE9MC42LCAgb3V0bGllci5zaGFwZSA9IE5BLCBjb2xvcj0iYmxhY2siKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogICNzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUFBPfmFjdGl2aXR5fihEZWx0YX5BYnN+NDkwfm5tfidcVTIyMTknfm1nfnByb3RlaW5eey0xfX4nXFUyMjE5J35taW5eey0xfSkpLCBsaW1pdHM9YygtMC4xLDEuNzUpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpwcG9fc3RyZXNzX2ZpZw0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCnBwb19zdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyPSdQUE8nLCBncm91cHZhcnM9YygnRGF0ZScsJ1NwZWNpZXMnLCAnQmxlYWNoJyksIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0KcHBvX3N1bQ0KYGBgDQoNCmBgYHtyfQ0KcHBvZmlnXzM8LWdncGxvdChwcG9fc3VtLCBhZXMoeT1QUE8sIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChzaXplPTEsIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksc3RhdD0iaWRlbnRpdHkiKSsNCiAgI2dlb21fcG9pbnQoZGF0YT1waHlzLCBhZXMoeT1wcG9fbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gInBwbyIsIGs9MyksIHNlPUYpKw0KICBmYWNldF93cmFwKH5TcGVjaWVzKSsNCiAgZ2VvbV9saW5lcmFuZ2UoYWVzKHltaW49UFBPLXNlLCB5bWF4PVBQTytzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihQUE9+YWN0aXZpdHl+KERlbHRhfkFic340OTB+bm1+J1xVMjIxOSd+bWd+cHJvdGVpbl57LTF9fidcVTIyMTknfm1pbl57LTF9KSksIGxpbWl0cz1jKDAsMS4yNSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KcHBvZmlnXzMNCmBgYA0KDQoNCiMjUG5ldA0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRQbWF4KQ0KYGBgDQoNCmBgYHtyfQ0KUG5ldC5sbTwtIGxtKFBtYXh+U3BlY2llcypCbGVhY2gqTW9udGhzLCBkYXRhPXBoeXMpICNHYXVzc2lhbg0KcGFyKG1mcm93PWMoMiwzKSkNCnBsb3QoUG5ldC5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCiMjI1N0YXRzDQpgYGB7cn0NClBuZXQubG1lIDwtIGxtZShQbWF4flNwZWNpZXMqQmxlYWNoKk1vbnRocywgcmFuZG9tID0gfjF8Q29yYWxfSUQsIGRhdGE9cGh5cywgbmEuYWN0aW9uPW5hLmV4Y2x1ZGUpDQpjYXI6OkFub3ZhKFBuZXQubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKFBuZXQubG1lLCBsaXN0KHBhaXJ3aXNlIH4gTW9udGhzKSwgYWRqdXN0ID0gInR1a2V5IikNCnR1a2V5Mw0KdHVrZXkzPC0gZW1tZWFucyhQbmV0LmxtZSwgbGlzdChwYWlyd2lzZSB+U3BlY2llczpNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9Ik1vbnRocyIpDQp0dWtleTMgI25vIGRpZmZlcmVuY2VzIHdpdGhpbiBTcGVjaWVzIGFuZCBCbGVhY2ggDQpgYGANCmBgYHtyfQ0Kc3VtbWFyeShQbmV0LmxtZSkNCnIuc3F1YXJlZEdMTU0oUG5ldC5sbWUpDQpgYGANCiMjIyNDb2VmZmljaWVudHMNCmBgYHtyfQ0KY29lZihQbmV0LmxtZSkNCmBgYA0KDQojIyNGaWd1cmUNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpQbmV0ZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9UG1heCwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogICNzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDYUNPWzNdfmRlbnNpdHl+KGd+J1xVMjIxOSd+bUxeey0xfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KUG5ldGZpZw0KYGBgDQoNCg0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNClBuZXRmaWcyPC1nZ3Bsb3QocGh5cywgYWVzKHk9UG1heCwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9kYXRlKGxpbWl0cz1hcy5EYXRlKGMoIjIwMjAtMDgtMDEiLCIyMDIyLTAzLTE1IikpLGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogICNzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDYUNPWzNdfmRlbnNpdHl+KGd+J1xVMjIxOSd+bUxeey0xfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KUG5ldGZpZzINCmBgYA0KDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KcG5ldF9zdHJlc3NfZmlnPC1nZ3Bsb3QocGh5c19zdHJlc3MsIGFlcyh5PVBtYXgsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KIGdlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1QbWF4LCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1QbWF4LCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICAjc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUFBPfmFjdGl2aXR5fihEZWx0YX5BYnN+NDkwfm5tfidcVTIyMTknfm1nfnByb3RlaW5eey0xfX4nXFUyMjE5J35taW5eey0xfSkpLCBsaW1pdHM9YygtMC4xLDEuNzUpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpwbmV0X3N0cmVzc19maWcNCmBgYA0KYGBge3J9DQpsaWJyYXJ5KFJtaXNjKQ0KUG5ldF9zdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyPSdQbWF4JywgZ3JvdXB2YXJzPWMoJ0RhdGUnLCdTcGVjaWVzJywgJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNClBuZXRfc3VtDQpgYGANCg0KYGBge3J9DQpQbmV0ZmlnXzM8LWdncGxvdChQbmV0X3N1bSwgYWVzKHk9UG1heCwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PVBuZXRfbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gIlBuZXQiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPVBtYXgtc2UsIHltYXg9UG1heCtzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihHcm9zc35waG90b3N5bnRoZXNpc34obXV+bW9sfidcVTIyMTknfmheey0xfX4nXFUyMjE5J35jbV57LTJ9KSksIGxpbWl0cz1jKDAsNCkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KUG5ldGZpZ18zDQpgYGANCg0KIyNMRURSDQojIyNOb3JtYWxpdHkNCmBgYHtyfQ0KaGlzdChwaHlzJFIpDQpgYGANCg0KYGBge3J9DQpMRURSLmxtPC0gbG0oUn5TcGVjaWVzKkJsZWFjaCpNb250aHMsIGRhdGE9cGh5cykgI0dhdXNzaWFuDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChMRURSLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KIyMjU3RhdHMNCmBgYHtyfQ0KTEVEUi5sbWUgPC0gbG1lKFJ+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoTEVEUi5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoTEVEUi5sbWUsIGxpc3QocGFpcndpc2UgfiBTcGVjaWVzOk1vbnRocyksIGFkanVzdCA9ICJ0dWtleSIsIHNpbXBsZT0iU3BlY2llcyIpDQp0dWtleTMNCmBgYA0KYGBge3J9DQpzdW1tYXJ5KExFRFIubG1lKQ0Kci5zcXVhcmVkR0xNTShMRURSLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKExFRFIubG1lKQ0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCkxFRFJmaWc8LWdncGxvdChwaHlzLCBhZXMoeT1SLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpMRURSZmlnDQpgYGANCg0KDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KTEVEUmZpZzI8LWdncGxvdChwaHlzLCBhZXMoeT1SLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUobGltaXRzPWFzLkRhdGUoYygiMjAyMC0wOC0wMSIsIjIwMjItMDMtMTUiKSksZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpMRURSZmlnMg0KYGBgDQoNCg0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCkxFRFJfc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1SLCB4PU1vbnRocywgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCmdlb21fcG9pbnQoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1SLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1SLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICAjc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUFBPfmFjdGl2aXR5fihEZWx0YX5BYnN+NDkwfm5tfidcVTIyMTknfm1nfnByb3RlaW5eey0xfX4nXFUyMjE5J35taW5eey0xfSkpLCBsaW1pdHM9YygtMC4xLDEuNzUpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpMRURSX3N0cmVzc19maWcNCmBgYA0KDQoNCmBgYHtyfQ0KbGlicmFyeShSbWlzYykNCkxFRFJfc3VtPC1zdW1tYXJ5U0UocGh5cywgbWVhc3VyZXZhcj0nUicsIGdyb3VwdmFycz1jKCdEYXRlJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpMRURSX3N1bQ0KYGBgDQoNCmBgYHtyfQ0KTEVEUmZpZ18zPC1nZ3Bsb3QoTEVEUl9zdW0sIGFlcyh5PWFicyhSKSwgeD1EYXRlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9wb2ludChkYXRhPXBoeXMsIGFlcyh5PUxFRFJfbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gIkxFRFIiLCBrPTMpLCBzZT1GKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcykrDQogIGdlb21fbGluZXJhbmdlKGFlcyh5bWluPWFicyhSKS1zZSwgeW1heD1hYnMoUikrc2UpLCB3aWR0aD0gMC43LCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSxzdGF0PSJpZGVudGl0eSIpICsNCiAgZ2VvbV9wYXRoKGFlcyhncm91cCA9IGludGVyYWN0aW9uKEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksIGxpbmV0eXBlPSJzb2xpZCIpKw0KICBzY2FsZV94X2RhdGUoYnJlYWtzID0gYXMuRGF0ZShjKCIyMDE5LTEwLTAxIiwiMjAyMC0wMi0wMSIsIjIwMjAtMDYtMDEiLCIyMDIwLTEwLTAxIiwiMjAyMS0wMi0wMSIsIjIwMjEtMDYtMDEiLCIyMDIxLTEwLTAxIiwiMjAyMi0wMi0wMSIsIjIwMjItMDYtMDEiLCIyMDIyLTEwLTAxIikpLCBkYXRlX2xhYmVscyA9ICIlYiAlWSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUmVzcGlyYXRpb25+KG11fm1vbH4nXFUyMjE5J35oXnstMX1+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgI2dlb21faGxpbmUoeWludGVyY2VwdCA9IDAsIHNpemU9MC43NSwgY29sb3IgPSAiYmxhY2siKSArIA0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KTEVEUmZpZ18zDQpgYGANCiMjYWxwaGENCiMjI05vcm1hbGl0eQ0KYGBge3J9DQpoaXN0KHBoeXMkYWxwaGEpDQpgYGANCg0KYGBge3J9DQphbHBoYS5sbTwtIGxtKGFscGhhflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KGFscGhhLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KIyMjU3RhdHMNCmBgYHtyfQ0KYWxwaGEubG1lIDwtIGxtZShhbHBoYX5TcGVjaWVzKkJsZWFjaCpNb250aHMsIHJhbmRvbSA9IH4xfENvcmFsX0lELCBkYXRhPXBoeXMsIG5hLmFjdGlvbj1uYS5leGNsdWRlKQ0KY2FyOjpBbm92YShhbHBoYS5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoYWxwaGEubG1lLCBsaXN0KHBhaXJ3aXNlIH4gTW9udGhzKSwgYWRqdXN0ID0gInR1a2V5IikNCnR1a2V5Mw0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmFscGhhZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9YWxwaGEsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICAjZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQphbHBoYWZpZw0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmFscGhhZmlnMjwtZ2dwbG90KHBoeXMsIGFlcyh5PWFscGhhLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUobGltaXRzPWFzLkRhdGUoYygiMjAyMC0wOC0wMSIsIjIwMjItMDMtMTUiKSksZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQphbHBoYWZpZzINCmBgYA0KDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KYWxwaGFfc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1hbHBoYSwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogICNnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogICNnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICBnZW9tX2JveHBsb3QoYWxwaGE9MC42LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogICNzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFBQT35hY3Rpdml0eX4oRGVsdGF+QWJzfjQ5MH5ubX4nXFUyMjE5J35tZ35wcm90ZWluXnstMX1+J1xVMjIxOSd+bWluXnstMX0pKSwgbGltaXRzPWMoLTAuMSwxLjc1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KYWxwaGFfc3RyZXNzX2ZpZw0KYGBgDQoNCiMjUDpSDQojIyNOb3JtYWxpdHkNCmBgYHtyfQ0KaGlzdChwaHlzJFBSKQ0KYGBgDQoNCmBgYHtyfQ0KUFIubG08LSBsbShQUn5TcGVjaWVzKkJsZWFjaCpNb250aHMsIGRhdGE9cGh5cykgI0dhdXNzaWFuDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChQUi5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCiMjI1N0YXRzDQpgYGB7cn0NClBSLmxtZSA8LSBsbWUoUFJ+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoUFIubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKFBSLmxtZSwgbGlzdChwYWlyd2lzZSB+IEJsZWFjaCApLCBhZGp1c3QgPSAidHVrZXkiKQ0KdHVrZXkzDQpgYGANCmBgYHtyfQ0Kc3VtbWFyeShQUi5sbWUpDQpyLnNxdWFyZWRHTE1NKFBSLmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKHByb3RlaW4ubG1lKQ0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCnByZmlnMjwtZ2dwbG90KHBoeXMsIGFlcyh5PVBSLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUobGltaXRzPWFzLkRhdGUoYygiMjAyMC0wOC0wMSIsIjIwMjItMDMtMTUiKSksZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oQ2FDT1szXX5kZW5zaXR5fihnfidcVTIyMTknfm1MXnstMX0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIsIGFuZ2xlPTkwKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnByZmlnMg0KYGBgDQoNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpwcmZpZzwtZ2dwbG90KHBoeXMsIGFlcyh5PVBSLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpwcmZpZw0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoUm1pc2MpDQpQUl9zdW08LXN1bW1hcnlTRShwaHlzLCBtZWFzdXJldmFyPSdQUicsIGdyb3VwdmFycz1jKCdEYXRlJywnU3BlY2llcycsICdCbGVhY2gnKSwgbmEucm09VFJVRSwgY29uZi5pbnRlcnZhbCA9IDAuOTUpDQpQUl9zdW0NCmBgYA0KDQpgYGB7cn0NClBSZmlnXzM8LWdncGxvdChQUl9zdW0sIGFlcyh5PVBSLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX3BvaW50KGRhdGE9cGh5cywgYWVzKHk9UFJfbWcuY20uMiwgeD1EYXRlKSwgYWxwaGE9MC40KSsNCiAgI2dlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gIlBSIiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1QUi1zZSwgeW1heD1QUitzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihQaG90b3N5bnRoZXNpczpSZXNwaXJhdGlvbiksIGxpbWl0cz1jKDAsNykpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQoYW5nbGU9OTAsdmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLGZhY2U9Iml0YWxpYyIpKQ0KUFJmaWdfMw0KYGBgDQpgYGB7cn0NCnBoeXMkRGF0ZTwtIGFzLkRhdGUoYXMuUE9TSVhjdChwaHlzJERhdGUsIG9yaWdpbj0iMTk3MC0wMS0wMSIpKQ0KUFJfc3RyZXNzX2ZpZzwtZ2dwbG90KHBoeXNfc3RyZXNzLCBhZXMoeT1QUiwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQpnZW9tX3BvaW50KGRhdGE9cGh5c19zdHJlc3MsYWVzKHk9UFIsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gpLCBhbHBoYT0wLjkscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoKSkrDQogIGdlb21fYm94cGxvdChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PVBSLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC41LCBjb2xvcj0iYmxhY2siLCBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICAjc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUFBPfmFjdGl2aXR5fihEZWx0YX5BYnN+NDkwfm5tfidcVTIyMTknfm1nfnByb3RlaW5eey0xfX4nXFUyMjE5J35taW5eey0xfSkpLCBsaW1pdHM9YygtMC4xLDEuNzUpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpQUl9zdHJlc3NfZmlnDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGNvd3Bsb3QpDQpyZXNwYWxsPC1jb3dwbG90OjpwbG90X2dyaWQoUG5ldGZpZyxMRURSZmlnLCBucm93PTMsbmNvbD0xLCBhbGlnbj0iaCIsIGF4aXMgPSAiYnQiKQ0KcmVzcGFsbA0KYGBgDQoNCiMjUEkgY3VydmVzDQoNCmBgYHtyfQ0KUElPY3QxOTwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvT2N0IDIwMTkgUEkgY3VydmVfVGVlZ2FuLmNzdiIsIHN0cmluZ3NBc0ZhY3RvcnM9RkFMU0UsIGZpbGVFbmNvZGluZz0ibGF0aW4xIikNClBJT2N0MTkkcmFkPC1hcy5udW1lcmljKFBJT2N0MTkkcmFkKQ0KUElPY3QxOQ0KYGBgDQojIyNGaWd1cmUgLSBPY3QxOQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNClBJZmlnX09jdDE5PC1nZ3Bsb3QoUElPY3QxOSwgYWVzKHk9dW1vbC5PMi5MLmhyLCB4PXJhZCwgY29sb3I9UGhlbm90eXBlLCBmaWxsPVBoZW5vdHlwZSkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfY29udGludW91cyhJcnJhZGlhbmNlfihtdX5tb2x+J1xVMjIxOSd+bV57LTJ9fidcVTIyMTknfnNeey0xfSkpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oT3h5Z2VufmV2b2x1dGlvbn4obXV+bW9sfidcVTIyMTknfmheey0xfX4nXFUyMjE5J35jbV57LTJ9KSksIGxpbWl0cz1jKC0yLDMpKSsNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAxLCBhbHBoYSA9IDAuOCwgY29sb3IgPSAiYmxhY2siKSArIA0KICBzY2FsZV9maWxsX21hbnVhbCgiUGhlbm90eXBlIiwgdmFsdWVzPWMoIlN1c2NlcHRpYmxlIj0gJyNERkQzQjknLCJSZXNpc3RhbnQiPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJQaGVub3R5cGUiLCB2YWx1ZXM9YygiU3VzY2VwdGlibGUiPSAnI0RGRDNCOScsIlJlc2lzdGFudCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KUElmaWdfT2N0MTkNCmBgYA0KDQpgYGB7cn0NClBJT2N0PC1yZWFkLmNzdigiL1VzZXJzL2lta3JpL0Rlc2t0b3AvUGVubiBQb3N0ZG9jL0hhd2FpaS8yMDIxLjEwLjEwX0tCYXlwYWlyc19yZXNwaXJvbWV0cnkvUmF3X0tUQi5jc3YiLCBzdHJpbmdzQXNGYWN0b3JzPUZBTFNFLCBmaWxlRW5jb2Rpbmc9ImxhdGluMSIpDQpQSU9jdCRyYWQ8LWFzLm51bWVyaWMoUElPY3QkcmFkKQ0KUElPY3QNCmBgYA0KIyMjRmlndXJlIC0gT2N0MjENCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpQSWZpZzwtZ2dwbG90KFBJT2N0LCBhZXMoeT11bW9sLk8yLkwuaHIsIHg9cmFkLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKElycmFkaWFuY2V+KG11fm1vbH4nXFUyMjE5J35tXnstMn1+J1xVMjIxOSd+c157LTF9KSwgbGltaXRzPWMoMCwxNjgyKSkrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihPeHlnZW5+ZXZvbHV0aW9ufihtdX5tb2x+J1xVMjIxOSd+aF57LTF9fidcVTIyMTknfmNtXnstMn0pKSwgbGltaXRzPWMoLTIsMykpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAxLCBhbHBoYSA9IDAuOCwgY29sb3IgPSAiYmxhY2siKSArIA0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KUElmaWcNCmBgYA0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNClBJZmlnMjwtZ2dwbG90KFBJT2N0LCBhZXMoeT11bW9sLk8yLkwuaHIsIHg9cmFkLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BhdGgoKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoSXJyYWRpYW5jZX4obXV+bW9sfidcVTIyMTknfm1eey0yfX4nXFUyMjE5J35zXnstMX0pKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKE94eWdlbn5ldm9sdXRpb25+KG11fm1vbH4nXFUyMjE5J35oXnstMX1+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiwgYW5nbGU9OTApLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KUElmaWcyDQpgYGANCmBgYHtyfQ0KUElNYXI8LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL01hcmNoIDIwMjIgUmVzcGlyb21ldHJ5L01hcmNoMjJfS1RCMi5jc3YiLCBzdHJpbmdzQXNGYWN0b3JzPUZBTFNFLCBmaWxlRW5jb2Rpbmc9ImxhdGluMSIpDQpQSU1hciRyYWQ8LWFzLm51bWVyaWMoUElNYXIkcmFkKQ0KUElNYXINCmBgYA0KDQojIyNGaWd1cmUgLSBNYXIyMg0KYGBge3J9DQojcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpQSWZpZ21hcmNoPC1nZ3Bsb3QoUElNYXIsIGFlcyh5PXVtb2wuTzIuTC5ociwgeD1yYWQsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoSXJyYWRpYW5jZX4obXV+bW9sfidcVTIyMTknfm1eey0yfX4nXFUyMjE5J35zXnstMX0pLCBsaW1pdHM9YygwLDE2ODIpKSsgDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKE94eWdlbn5ldm9sdXRpb25+KG11fm1vbH4nXFUyMjE5J35oXnstMX1+J1xVMjIxOSd+Y21eey0yfSkpLCBsaW1pdHM9YygtMiwzKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9IDEsIGFscGhhID0gMC44LCBjb2xvciA9ICJibGFjayIpICsgDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpQSWZpZ21hcmNoDQpgYGANCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpQSWZpZzI8LWdncGxvdChQSU1hciwgYWVzKHk9dW1vbC5PMi5MLmhyLCB4PXJhZCwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wYXRoKCkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKElycmFkaWFuY2V+KG11fm1vbH4nXFUyMjE5J35tXnstMn1+J1xVMjIxOSd+c157LTF9KSkrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihPeHlnZW5+ZXZvbHV0aW9ufihtdX5tb2x+J1xVMjIxOSd+aF57LTF9fidcVTIyMTknfmNtXnstMn0pKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIsIGFuZ2xlPTkwKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNClBJZmlnMg0KYGBgDQpgYGB7cn0NClBJU2VwdDwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvU2VwdCAyMDIyIFJlc3Bpcm9tZXRyeS9TZXB0MjAyMl9zbG9wZXNfcmF3LmNzdiIsIHN0cmluZ3NBc0ZhY3RvcnM9RkFMU0UsIGZpbGVFbmNvZGluZz0ibGF0aW4xIikNClBJU2VwdCRyYWQ8LWFzLm51bWVyaWMoUElTZXB0JHJhZCkNClBJU2VwdCR1bW9sLk8yLkwuaHIuY20yPC1hcy5udW1lcmljKFBJU2VwdCR1bW9sLk8yLkwuaHIuY20yKQ0KUElTZXB0DQpgYGANCiMjI0ZpZ3VyZSAtIFNlcHQyMg0KYGBge3J9DQojcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpQSWZpZzM8LWdncGxvdChQSVNlcHQsIGFlcyh5PXVtb2wuTzIuTC5oci5jbTIsIHg9cmFkLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNCkrDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2FtIiwgZm9ybXVsYSA9IHkgfiBzKHgsIGJzID0gImNzIiwgaz0zKSkrDQogICNnZW9tX2JveHBsb3QoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oRGF0ZSxCbGVhY2gpLCBzdGF0PSJpZGVudGl0eSIpLCBhbHBoYT0wLjcsICBvdXRsaWVyLnNoYXBlID0gTkEpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKElycmFkaWFuY2V+KG11fm1vbH4nXFUyMjE5J35tXnstMn1+J1xVMjIxOSd+c157LTF9KSwgbGltaXRzPWMoMCwxNjgyKSkrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihPeHlnZW5+ZXZvbHV0aW9ufihtdX5tb2x+J1xVMjIxOSd+aF57LTF9fidcVTIyMTknfmNtXnstMn0pKSxsaW1pdHM9YygtMiwzKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9IDEsIGFscGhhID0gMC44LCBjb2xvciA9ICJibGFjayIpICsgDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpQSWZpZzMNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoY293cGxvdCkNCmN1cnZlczwtY293cGxvdDo6cGxvdF9ncmlkKFBJZmlnX09jdDE5LFBJZmlnLFBJZmlnbWFyY2gsIFBJZmlnMywgbnJvdz0yLG5jb2w9MiwgYWxpZ249ImgiLCBheGlzID0gImJ0IikNCmN1cnZlcw0KYGBgDQoNCg0KIyNDYUNPMyBkZW5zaXR5DQojIyNOb3JtYWxpdHkNCmBgYHtyfQ0KaGlzdChwaHlzJENhQ08zLkRlbnNpdHlfZy5tTC4xKQ0KYGBgDQoNCmBgYHtyfQ0KZGVuc2l0eS5sbTwtIGxtKENhQ08zLkRlbnNpdHlfZy5tTC4xflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KGRlbnNpdHkubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQojIyNTdGF0cw0KYGBge3J9DQpkZW5zaXR5LmxtZSA8LSBsbWUoQ2FDTzMuRGVuc2l0eV9nLm1MLjF+U3BlY2llcypCbGVhY2gqTW9udGhzLCByYW5kb20gPSB+MXxDb3JhbF9JRCwgZGF0YT1waHlzLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoZGVuc2l0eS5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoZGVuc2l0eS5sbWUsIGxpc3QocGFpcndpc2UgfiBTcGVjaWVzOkJsZWFjaDpNb250aHMpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9Ik1vbnRocyIpDQp0dWtleTMNCmBgYA0KYGBge3J9DQpzdW1tYXJ5KGRlbnNpdHkubG1lKQ0Kci5zcXVhcmVkR0xNTShkZW5zaXR5LmxtZSkNCmBgYA0KIyMjI0NvZWZmaWNpZW50cw0KYGBge3J9DQpjb2VmKGRlbnNpdHkubG1lKQ0KYGBgDQojIyNGaWd1cmUNCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpkZW5zaXR5ZmlnPC1nZ3Bsb3QocGh5cywgYWVzKHk9Q2FDTzMuRGVuc2l0eV9nLm1MLjEsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChhbHBoYT0wLjQpKw0KICBnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJjcyIsIGs9MykpKw0KICAjZ2VvbV9ib3hwbG90KGFlcyhncm91cCA9IGludGVyYWN0aW9uKERhdGUsQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgYWxwaGE9MC43LCAgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZmFjZXRfZ3JpZCh+U3BlY2llcykrDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDYUNPWzNdfmRlbnNpdHl+KGd+J1xVMjIxOSd+bUxeey0xfSkpLCBsaW1pdHM9YygxLDIuNSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBhbmdsZT05MCksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpkZW5zaXR5ZmlnDQpgYGANCmBgYHtyfQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShhcy5QT1NJWGN0KHBoeXMkRGF0ZSwgb3JpZ2luPSIxOTcwLTAxLTAxIikpDQpkZW5zaXR5X3N0cmVzc19maWc8LWdncGxvdChwaHlzX3N0cmVzcywgYWVzKHk9Q2FDTzMuRGVuc2l0eV9nLm1MLjEsIHg9TW9udGhzLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KZ2VvbV9wb2ludChkYXRhPXBoeXNfc3RyZXNzLGFlcyh5PUNhQ08zLkRlbnNpdHlfZy5tTC4xLCB4PU1vbnRocywgY29sb3I9QmxlYWNoKSwgYWxwaGE9MC45LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKCkpKw0KICBnZW9tX2JveHBsb3QoZGF0YT1waHlzX3N0cmVzcyxhZXMoeT1DYUNPMy5EZW5zaXR5X2cubUwuMSwgeD1Nb250aHMsIGNvbG9yPUJsZWFjaCksIGFscGhhPTAuNSwgY29sb3I9ImJsYWNrIiwgb3V0bGllci5zaGFwZSA9IE5BKSsNCiAgZ2VvbV9ib3hwbG90KCBhbHBoYT0wLjYsICBvdXRsaWVyLnNoYXBlID0gTkEsIGNvbG9yPSJibGFjayIpKw0KICBmYWNldF9ncmlkKH5TcGVjaWVzKSsNCiAgI3NjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICI0IG1vbnRocyIsIGRhdGVfbGFiZWxzID0gIiViICV5IikrIA0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDYUNPWzNdfmRlbnNpdHl+KGd+J1xVMjIxOSd+bUxeey0xfSkpLCBsaW1pdHM9YygxLDIuNSkpKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmRlbnNpdHlfc3RyZXNzX2ZpZw0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoUm1pc2MpDQpkZW5zaXR5X3N1bTwtc3VtbWFyeVNFKHBoeXMsIG1lYXN1cmV2YXI9J0NhQ08zLkRlbnNpdHlfZy5tTC4xJywgZ3JvdXB2YXJzPWMoJ0RhdGUnLCdTcGVjaWVzJywgJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCmRlbnNpdHlfc3VtDQpgYGANCg0KYGBge3J9DQpkZW5zaXR5ZmlnXzM8LWdncGxvdChkZW5zaXR5X3N1bSwgYWVzKHk9Q2FDTzMuRGVuc2l0eV9nLm1MLjEsIHg9RGF0ZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9wb2ludChzaXplPTEsIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuMyksc3RhdD0iaWRlbnRpdHkiKSsNCiAgI2dlb21fcG9pbnQoZGF0YT1waHlzLCBhZXMoeT1kZW5zaXR5X21nLmNtLjIsIHg9RGF0ZSksIGFscGhhPTAuNCkrDQogICNnZW9tX3Ntb290aChtZXRob2Q9ImdhbSIsIGZvcm11bGEgPSB5IH4gcyh4LCBicyA9ICJkZW5zaXR5Iiwgaz0zKSwgc2U9RikrDQogIGZhY2V0X3dyYXAoflNwZWNpZXMpKw0KICBnZW9tX2xpbmVyYW5nZShhZXMoeW1pbj1DYUNPMy5EZW5zaXR5X2cubUwuMS1zZSwgeW1heD1DYUNPMy5EZW5zaXR5X2cubUwuMStzZSksIHdpZHRoPSAwLjcsICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjMpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gaW50ZXJhY3Rpb24oQmxlYWNoKSwgc3RhdD0iaWRlbnRpdHkiKSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC4zKSwgbGluZXR5cGU9InNvbGlkIikrDQogIHNjYWxlX3hfZGF0ZShicmVha3MgPSBhcy5EYXRlKGMoIjIwMTktMTAtMDEiLCIyMDIwLTAyLTAxIiwiMjAyMC0wNi0wMSIsIjIwMjAtMTAtMDEiLCIyMDIxLTAyLTAxIiwiMjAyMS0wNi0wMSIsIjIwMjEtMTAtMDEiLCIyMDIyLTAyLTAxIiwiMjAyMi0wNi0wMSIsIjIwMjItMTAtMDEiKSksIGRhdGVfbGFiZWxzID0gIiViICVZIikrIA0KIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENhQ09bM11+ZGVuc2l0eX4oZ34nXFUyMjE5J35tTF57LTF9KSksIGxpbWl0cz1jKDEuMiwyLjIpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KGFuZ2xlPTkwLHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMixmYWNlPSJpdGFsaWMiKSkNCmRlbnNpdHlmaWdfMw0KYGBgDQojI0ludGVybmFsIHZvbHVtZQ0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QocGh5cyRYLmludGVybmFsLnZvbHVtZSkNCmBgYA0KDQpgYGB7cn0NCmludHZvbC5sbTwtIGxtKFguaW50ZXJuYWwudm9sdW1lflNwZWNpZXMqQmxlYWNoKk1vbnRocywgZGF0YT1waHlzKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KGludHZvbC5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCiMjI1N0YXRzDQpgYGB7cn0NCmludHZvbC5sbWUgPC0gbG1lKFguaW50ZXJuYWwudm9sdW1lflNwZWNpZXMqQmxlYWNoKk1vbnRocywgcmFuZG9tID0gfjF8Q29yYWxfSUQsIGRhdGE9cGh5cywgbmEuYWN0aW9uPW5hLmV4Y2x1ZGUpDQpjYXI6OkFub3ZhKGludHZvbC5sbWUsIHR5cGU9MykNCnR1a2V5MzwtIGVtbWVhbnMoaW50dm9sLmxtZSwgbGlzdChwYWlyd2lzZSB+IFNwZWNpZXM6QmxlYWNoOk1vbnRocyksIGFkanVzdCA9ICJ0dWtleSIsIHNpbXBsZT0iQmxlYWNoIikNCnR1a2V5Mw0KYGBgDQoNCiMjI0ZpZ3VyZQ0KYGBge3J9DQpwaHlzJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QocGh5cyREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNCmludHZvbGZpZzwtZ2dwbG90KHBoeXMsIGFlcyh5PVguaW50ZXJuYWwudm9sdW1lLCB4PURhdGUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoYWxwaGE9MC40KSsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSJnYW0iLCBmb3JtdWxhID0geSB+IHMoeCwgYnMgPSAiY3MiLCBrPTMpKSsNCiAgI2dlb21fYm94cGxvdChhZXMoZ3JvdXAgPSBpbnRlcmFjdGlvbihEYXRlLEJsZWFjaCksIHN0YXQ9ImlkZW50aXR5IiksIGFscGhhPTAuNywgIG91dGxpZXIuc2hhcGUgPSBOQSkrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICBzY2FsZV94X2RhdGUoZGF0ZV9icmVha3MgPSAiNCBtb250aHMiLCBkYXRlX2xhYmVscyA9ICIlYiAleSIpKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oSW50ZXJuYWx+dm9sdW1lfigiJSIpKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIsIGFuZ2xlPTkwKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj0ibm9uZSIsDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmludHZvbGZpZw0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoY293cGxvdCkNCmFsbHBoeXM8LWNvd3Bsb3Q6OnBsb3RfZ3JpZChwcm90ZWluZmlnXzMsbGlwaWRmaWdfMyxBRkRXZmlnXzMsZGVuc2l0eWZpZ18zLHBwb2ZpZ18zLG1lbGZpZ18zLCBzeW1maWdfMyxjaGxhZmlnXzMsY2hsYWNlbGxmaWdfMywgUG5ldGZpZ18zLCBMRURSZmlnXzMsUFJmaWdfMyxucm93PTQsIG5jb2w9MywgIGFsaWduPSJoIiwgYXhpcyA9ICJidCIpDQphbGxwaHlzDQpgYGANCmBgYHtyfQ0KbGlicmFyeShjb3dwbG90KQ0KYWxscGh5c3N1cHA8LWNvd3Bsb3Q6OnBsb3RfZ3JpZCh0YWNmaWdfMyxjc2ZpZ18zLHBwb2ZpZ18zLG1lbGZpZ18zLCBjaGxhY2VsbGZpZ18zLHRhY2ZpZ18zLGNzZmlnXzMscHBvZmlnXzMsbWVsZmlnXzMsIGNobGFjZWxsZmlnXzMsbWVsZmlnXzMsIGNobGFjZWxsZmlnXzMsbnJvdz00LCBuY29sPTMsICBhbGlnbj0iaCIsIGF4aXMgPSAiYnQiKQ0KYWxscGh5c3N1cHANCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoY293cGxvdCkNCnBoeXMyPC1wbG90X2dyaWQocHJvdGVpbmZpZyxzeW1maWcsIG5yb3c9MiwgbmNvbD0xLCAgYWxpZ249ImgiLCBheGlzID0gImJ0IikNCnBoeXMyDQpgYGANCiNDb21wb3NpdGUgRmlndXJlDQpgYGB7cn0NCmxpYnJhcnkoY293cGxvdCkNCmFsbHBoeXNfc3RyZXNzPC1jb3dwbG90OjpwbG90X2dyaWQoQUZEV19zdHJlc3NfZmlnLHByb3RlaW5fc3RyZXNzX2ZpZyxsaXBpZF9zdHJlc3NfZmlnLCBkZW5zaXR5X3N0cmVzc19maWcsc3ltX3N0cmVzc19maWcsY2hsYV9zdHJlc3NfZmlnLHRhY19zdHJlc3NfZmlnLG1lbF9zdHJlc3NfZmlnLHBwb19zdHJlc3NfZmlnLHBuZXRfc3RyZXNzX2ZpZyxMRURSX3N0cmVzc19maWcsUFJfc3RyZXNzX2ZpZywgbnJvdz00LCBuY29sPTMsICBhbGlnbj0iaCIsIGF4aXMgPSAiYnQiKQ0KYWxscGh5c19zdHJlc3MNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoY293cGxvdCkNCmFsbHBoeXNfc3RyZXNzPC1jb3dwbG90OjpwbG90X2dyaWQocHJvdGVpbmZpZyxBRkRXZmlnLGxpcGlkZmlnLGRlbnNpdHlmaWcsc3ltZmlnLGNobGFmaWcsdGFjZmlnLHBwb2ZpZyxjc2ZpZyxQbmV0ZmlnXzMsTEVEUmZpZ18zLFBSZmlnXzMsIG5yb3c9NCwgbmNvbD0zLCAgYWxpZ249ImgiLCBheGlzID0gImJ0IikNCmFsbHBoeXNfc3RyZXNzDQpgYGANCg0KIyNNdWx0aXZhcmlhdGUgDQoNCmBgYHtyfQ0KcGh5czwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvUGh5cyBkYXRhIHdpdGggVGVlZ2FuIE1EUyBubyBPY3QtTm92IDIwMjAgYW5kIG9ubHkgcGVhayBoZWF0d2F2ZS5jc3YiLCBzdHJpcC53aGl0ZT1UKQ0KcGh5cyREYXRlPC0gYXMuRGF0ZShwaHlzJERhdGUsIGZvcm1hdCA9ICIlWS0lbS0lZCIpDQpwaHlzJEJsZWFjaDwtYXMuZmFjdG9yKHBoeXMkQmxlYWNoKQ0KcGh5cyRNb250aHM8LWFzLmZhY3RvcihwaHlzJE1vbnRocykNCnBoeXMkQ29yYWw8LWFzLmZhY3RvcihwaHlzJENvcmFsKQ0KcGh5cyRDb3JhbF9JRDwtYXMuZmFjdG9yKHBoeXMkQ29yYWxfSUQpDQpwaHlzDQpgYGANCmBgYHtyfQ0KbGlicmFyeShsdWJyaWRhdGUpDQpsaWJyYXJ5KGRwbHlyKQ0KI2dyb3VwaW5nIGVhY2ggSnVuZS1NYXJjaDsgSmFuLU1hciAicmVjb3ZlcnkiOyBKdW5lIHRvIEp1bmUgY2FsZW5kYXIgeWVhcjsgaGVhdCBzdHJlc3MgKGRhdGUgd2hlbiBpdCBmYWxscyBiZWxvdyBNTU0pIGRlZmluZSB0aGlzIGFzIHJlY292ZXJ5OyBibGVhY2hpbmcgcmVtYWlucyBKYW4vRmViDQpwaHlzJGRheSA8LSBkYXkoYXMuUE9TSVhsdChwaHlzJERhdGUpKQ0KcGh5cyRtb250aCA8LSBtb250aChhcy5QT1NJWGx0KHBoeXMkRGF0ZSkpDQpwaHlzJHllYXIgPC0geWVhcihhcy5QT1NJWGx0KHBoeXMkRGF0ZSkpDQpwaHlzJHllYXI8LWFzLmZhY3RvcihwaHlzJHllYXIpDQpwaHlzPC1waHlzJT4lDQogIG11dGF0ZShzZWFzb249IGlmZWxzZSAobW9udGggJWluJSBjKDUsNiw3LDgsOSwxMCksICJzdW1tZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShtb250aCAlaW4lIGMoMTEsMTIsMSwyLDMsNCksICJ3aW50ZXIiLCBOQSkpKSAlPiUNCiAgbXV0YXRlKHBlcmlvZD0gaWZlbHNlKHllYXIgJWluJSBjKDIwMTkpICYgbW9udGggJWluJSBjKDksMTAsMTEsMTIpLCAiQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHllYXIgJWluJSBjKDIwMTkpICYgbW9udGggJWluJSBjKDUsNiw3LDgpLCAiQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoeWVhciAlaW4lIGMoMjAyMCkgJiBtb250aCAlaW4lIGMoMSwyLDMsNCksICJBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZSh5ZWFyICVpbiUgYygyMDIwKSAmIG1vbnRoICVpbiUgYyg1LDYsNyw4LDksMTAsMTEsMTIpLCAiQiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoeWVhciAlaW4lIGMoMjAyMSkgJiBtb250aCAlaW4lIGMoMSwyLDMsNCksICJCIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZSh5ZWFyICVpbiUgYygyMDIxKSAmIG1vbnRoICVpbiUgYyg1LDYsNyw4LDksMTAsMTEsMTIpLCJDIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZSh5ZWFyICVpbiUgYygyMDIyKSAmIG1vbnRoICVpbiUgYygxLDIsMyw0KSwgIkMiLE5BKSkpKSkpKSkNCnBoeXMNCmBgYA0KYGBge3J9DQojcGh5czwtZmlsdGVyKHBoeXMsIFBlcmlvZCA9PSBjKCJSZWNvdmVyeSIpKQ0KI3BoeXMNCmBgYA0KDQpgYGB7cn0NCnVuaXF1ZShwaHlzJFBlcmlvZCkNCmBgYA0KDQpgYGB7cn0NCmNvbG5hbWVzKHBoeXMpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHZlZ2FuKQ0KcGh5cy5yZGE8LSByZGEocGh5c1ssKDc6MTMpXSwgbmEucm09VFJVRSwgc2NhbGU9VFJVRSkjaW5jbHVkZSBvbmx5IGNvbHVtbnMgaGVyZSB0aGF0IGFyZSBiZW50aGljIGNhdGVnb3JpZXMgKGUuZywgQ0NBLCBtYWNyb2FsZ2FlLCBQb3JpdGVzKQ0KYGBgDQoNCmBgYHtyfQ0KYmlwbG90KHBoeXMucmRhLCBzY2FsaW5nPTEsIG1haW49J1NjYWxpbmcnKQ0KYGBgDQoNCmBgYHtyfQ0KcGNhLnNpdGVzLnNjb3JlczwtIGFzLmRhdGEuZnJhbWUoc2NvcmVzKHBoeXMucmRhLCBkaXNwbGF5PSdzaXRlcycpKQ0KcGNhLnNpdGVzLnNjb3JlczwtIGRhdGEuZnJhbWUocGNhLnNpdGVzLnNjb3JlcywgcGh5cykNCnBjYS5zcGVjaWVzLnNjb3JlczwtIGFzLmRhdGEuZnJhbWUoc2NvcmVzKHBoeXMucmRhLCBkaXNwbGF5PSdzcGVjaWVzJykpDQpwY2Euc3BlY2llcy5zY29yZXMkU3BlY2llczwtIHJvd25hbWVzKHBjYS5zcGVjaWVzLnNjb3JlcykNCnBjYS5zcGVjaWVzLnNjb3Jlcw0KYGBgDQpgYGB7cn0NCmluY2x1ZGVfbGlzdDwtIGMoIlByb3RlaW5fbWcuY20uMiIsIlN5bS5kZW5zaXR5XzEwLjZjZWxscy5jbS4yIiwiQ2hsLmFfdWcuY20yIiwgInBnLkNobC5hLnBlci56b294IiwgIkFGRFdfbWcuY20uMiIsICJDYUNPMy5EZW5zaXR5X2cubUwuMSIpICNMaXN0IG9mIHZlY3RvcnMgdG8gaW5jbHVlIG9uIHRoZSBiZWxvdyBwbG90DQpwY2Euc3BlY2llcy5zY29yZXM8LXBjYS5zcGVjaWVzLnNjb3Jlc1tpbmNsdWRlX2xpc3QsXQ0KYGBgDQoNCmBgYHtyfQ0KZzwtZ2dwbG90KCkrDQogIGdlb21fcG9pbnQoZGF0YT1wY2Euc2l0ZXMuc2NvcmVzLCBhZXMoeT1QQzIsIHg9UEMxLCBjb2xvcj1Nb250aHMsIHNoYXBlPUJsZWFjaCksIHNpemU9MywgYWxwaGE9MC44KSsNCiAgZmFjZXRfd3JhcCh+Q29yYWwpKw0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9IDIsIGFscGhhID0gMC44LCBjb2xvciA9ICJkYXJrZ3JheSIpICsgDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IDAsIGxpbmV0eXBlID0gMiwgYWxwaGEgPSAwLjgsIGNvbG9yID0gImRhcmtncmF5IikgKw0KICBnZW9tX3NlZ21lbnQoZGF0YT1wY2Euc3BlY2llcy5zY29yZXMsIGFlcyh5PTAsIHg9MCwgeWVuZD1QQzIsIHhlbmQ9UEMxKSwgYXJyb3c9YXJyb3cobGVuZ3RoPXVuaXQoMC4zLCAnbGluZXMnKSksY29sb3I9J2JsYWNrJywgbGluZXR5cGU9J3NvbGlkJyxhbHBoYT0wLjkpKw0KICBnZW9tX3RleHQoZGF0YT1wY2Euc3BlY2llcy5zY29yZXMsIGFlcyh5PVBDMiwgeD1QQzEsIGxhYmVsPVNwZWNpZXMpLCBjb2xvcj0iYmxhY2siKSsNCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSAiUmRZbEJ1IikrDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIlllYXIiLCB2YWx1ZXM9YygiMjAxOSI9J2NvcmFsMicsIjIwMjAiPSdwYWxldHVycXVvaXNlMicsIjIwMjEiPSdkYXJrc2xhdGVncmF5NCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzICAgDQogIHNjYWxlX3NoYXBlX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9KHBjaD04KSwiTm9uLWJsZWFjaCI9KHBjaD0xNikpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX3hfY29udGludW91cyhsaW1pdHM9YygtMywzKSxwYXN0ZShuYW1lcyhlaWdbMV0pLCBzcHJpbnRmKCcoJTAuMWYlJSBleHBsYWluZWQgdmFyLiknLCAxMDAgKiBlaWdbMV0vc3VtKGVpZykpKSkrDQogIHNjYWxlX3lfY29udGludW91cyhwYXN0ZShuYW1lcyhlaWdbMl0pLCBzcHJpbnRmKCcoJTAuMWYlJSBleHBsYWluZWQgdmFyLiknLCAxMDAgKiBlaWdbMl0vc3VtKGVpZykpKSkrDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpnDQpgYGANCmBgYHtyfQ0KbGlicmFyeShjb3dwbG90KQ0KcGNhaWxsdXN0cmF0b3I8LWNvd3Bsb3Q6OnBsb3RfZ3JpZChnLGcsZywgbnJvdz0zLCBhbGlnbj0iaCIsIGF4aXMgPSAiYnQiKQ0KcGNhaWxsdXN0cmF0b3INCmBgYA0KDQpgYGB7cn0NCmVpZzwtZWlnZW52YWxzKHBoeXMucmRhKQ0KZWlnDQpgYGANCmBgYHtyfQ0KdmVnLmh1bGw9IHBjYS5zaXRlcy5zY29yZXMgJT4lIGdyb3VwX2J5KE1vbnRocykgJT4lDQogIGRvKHsNCiAgICB4PS4NCiAgICB4W2NodWxsKHgkUEMxLCB4JFBDMiksXQ0KICB9KQ0KYGBgDQoNCmBgYHtyfQ0KZysgZ2VvbV9wb2x5Z29uKGRhdGE9dmVnLmh1bGwsIGFlcyh5PVBDMiwgeD1QQzEsZmlsbD1Nb250aHMpLCBhbHBoYT0wLjIpKw0KICBzY2FsZV9maWxsX2JyZXdlcihwYWxldHRlID0gIlJkWWxCdSIpDQpgYGANCg0KIyMjTURTIE1vbnRpcG9yYSBvbmx5DQpgYGB7cn0NCm1kc21vbjwtZHBseXI6OmZpbHRlcihwaHlzLCBDb3JhbD09IGMoIk1vbnRpcG9yYSBjYXBpdGF0YSIpKQ0KY29sbmFtZXMobWRzbW9uKQ0KI3Jvdy5oYXMubmEgPC0gYXBwbHkobWRzYmVmb3JlWywoODoxNyldLCAxLCBmdW5jdGlvbih4KXthbnkoaXMubmEoeCkpfSkNCiNtZHNiZWZvcmUuZmlsdGVyZWQgPC0gbWRzYmVmb3JlWyFyb3cuaGFzLm5hLF0NCiNtZHNiZWZvcmUuZmlsdGVyZWQNCmBgYA0KYGBge3J9DQpsaWJyYXJ5KHZlZ2FuKQ0KcGh5cy5yZGE8LSByZGEobWRzbW9uWywoNzoxMyldLCBuYS5ybT1UUlVFLCBzY2FsZT1UUlVFKSNpbmNsdWRlIG9ubHkgY29sdW1ucyBoZXJlIHRoYXQgYXJlIGJlbnRoaWMgY2F0ZWdvcmllcyAoZS5nLCBDQ0EsIG1hY3JvYWxnYWUsIFBvcml0ZXMpDQpgYGANCg0KYGBge3J9DQpiaXBsb3QocGh5cy5yZGEsIHNjYWxpbmc9MSwgbWFpbj0nU2NhbGluZycpDQpgYGANCg0KYGBge3J9DQpwY2Euc2l0ZXMuc2NvcmVzPC0gYXMuZGF0YS5mcmFtZShzY29yZXMocGh5cy5yZGEsIGRpc3BsYXk9J3NpdGVzJykpDQpwY2Euc2l0ZXMuc2NvcmVzPC0gZGF0YS5mcmFtZShwY2Euc2l0ZXMuc2NvcmVzLCBtZHNtb24pDQpwY2Euc3BlY2llcy5zY29yZXM8LSBhcy5kYXRhLmZyYW1lKHNjb3JlcyhwaHlzLnJkYSwgZGlzcGxheT0nc3BlY2llcycpKQ0KcGNhLnNwZWNpZXMuc2NvcmVzJFNwZWNpZXM8LSByb3duYW1lcyhwY2Euc3BlY2llcy5zY29yZXMpDQpwY2Euc3BlY2llcy5zY29yZXMNCmBgYA0KYGBge3J9DQppbmNsdWRlX2xpc3Q8LSBjKCJQcm90ZWluX21nLmNtLjIiLCJTeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMiIsIkNobC5hX3VnLmNtMiIsICJwZy5DaGwuYS5wZXIuem9veCIsICJBRkRXX21nLmNtLjIiLCAiQ2FDTzMuRGVuc2l0eV9nLm1MLjEiKSAjTGlzdCBvZiB2ZWN0b3JzIHRvIGluY2x1ZSBvbiB0aGUgYmVsb3cgcGxvdA0KcGNhLnNwZWNpZXMuc2NvcmVzPC1wY2Euc3BlY2llcy5zY29yZXNbaW5jbHVkZV9saXN0LF0NCmBgYA0KDQpgYGB7cn0NCmdtb248LWdncGxvdCgpKw0KICBnZW9tX3BvaW50KGRhdGE9cGNhLnNpdGVzLnNjb3JlcywgYWVzKHk9UEMyLCB4PVBDMSwgY29sb3I9TW9udGhzLCBzaGFwZT1CbGVhY2gpLCBzaXplPTMsIGFscGhhPTAuOCkrDQogIGZhY2V0X3dyYXAofkNvcmFsKSsNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAyLCBhbHBoYSA9IDAuOCwgY29sb3IgPSAiZGFya2dyYXkiKSArIA0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9IDIsIGFscGhhID0gMC44LCBjb2xvciA9ICJkYXJrZ3JheSIpICsNCiAgZ2VvbV9zZWdtZW50KGRhdGE9cGNhLnNwZWNpZXMuc2NvcmVzLCBhZXMoeT0wLCB4PTAsIHllbmQ9UEMyLCB4ZW5kPVBDMSksIGFycm93PWFycm93KGxlbmd0aD11bml0KDAuMywgJ2xpbmVzJykpLGNvbG9yPSdibGFjaycsIGxpbmV0eXBlPSdzb2xpZCcsYWxwaGE9MC45KSsNCiAgZ2VvbV90ZXh0KGRhdGE9cGNhLnNwZWNpZXMuc2NvcmVzLCBhZXMoeT1QQzIsIHg9UEMxLCBsYWJlbD1TcGVjaWVzKSwgY29sb3I9ImJsYWNrIikrDQogIHNjYWxlX2NvbG9yX2JyZXdlcihwYWxldHRlID0gIlJkWWxCdSIpKw0KICAjc2NhbGVfY29sb3JfbWFudWFsKCJZZWFyIiwgdmFsdWVzPWMoIjIwMTkiPSdjb3JhbDInLCIyMDIwIj0ncGFsZXR1cnF1b2lzZTInLCIyMDIxIj0nZGFya3NsYXRlZ3JheTQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycyAgIA0KICBzY2FsZV9zaGFwZV9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPShwY2g9OCksIk5vbi1ibGVhY2giPShwY2g9MTYpKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV94X2NvbnRpbnVvdXMobGltaXRzPWMoLTMsMykscGFzdGUobmFtZXMoZWlnWzFdKSwgc3ByaW50ZignKCUwLjFmJSUgZXhwbGFpbmVkIHZhci4pJywgMTAwICogZWlnWzFdL3N1bShlaWcpKSkpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMocGFzdGUobmFtZXMoZWlnWzJdKSwgc3ByaW50ZignKCUwLjFmJSUgZXhwbGFpbmVkIHZhci4pJywgMTAwICogZWlnWzJdL3N1bShlaWcpKSkpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KZ21vbg0KYGBgDQoNCmBgYHtyfQ0KZ21vbnNlYXNvbjwtZ2dwbG90KCkrDQogIGdlb21fcG9pbnQoZGF0YT1wY2Euc2l0ZXMuc2NvcmVzLCBhZXMoeT1QQzIsIHg9UEMxLCBjb2xvcj1zZWFzb24sIHNoYXBlPUJsZWFjaCksIHNpemU9MywgYWxwaGE9MC44KSsNCiAgZmFjZXRfd3JhcCh+Q29yYWwpKw0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9IDIsIGFscGhhID0gMC44LCBjb2xvciA9ICJkYXJrZ3JheSIpICsgDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IDAsIGxpbmV0eXBlID0gMiwgYWxwaGEgPSAwLjgsIGNvbG9yID0gImRhcmtncmF5IikgKw0KICBnZW9tX3NlZ21lbnQoZGF0YT1wY2Euc3BlY2llcy5zY29yZXMsIGFlcyh5PTAsIHg9MCwgeWVuZD1QQzIsIHhlbmQ9UEMxKSwgYXJyb3c9YXJyb3cobGVuZ3RoPXVuaXQoMC4zLCAnbGluZXMnKSksY29sb3I9J2JsYWNrJywgbGluZXR5cGU9J3NvbGlkJyxhbHBoYT0wLjkpKw0KICBnZW9tX3RleHQoZGF0YT1wY2Euc3BlY2llcy5zY29yZXMsIGFlcyh5PVBDMiwgeD1QQzEsIGxhYmVsPVNwZWNpZXMpLCBjb2xvcj0iYmxhY2siKSsNCiAgI3NjYWxlX2NvbG9yX2JyZXdlcihwYWxldHRlID0gIlJkWWxCdSIpKw0KICBzY2FsZV9jb2xvcl9tYW51YWwoInNlYXNvbiIsIHZhbHVlcz1jKCJzdW1tZXIiPSdpbmRpYW5yZWQzJywgIndpbnRlciI9ICJuYXZ5Ymx1ZSIsIk5BIj0id2hpdGUiKSkrDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIlllYXIiLCB2YWx1ZXM9YygiMjAxOSI9J2NvcmFsMicsIjIwMjAiPSdwYWxldHVycXVvaXNlMicsIjIwMjEiPSdkYXJrc2xhdGVncmF5NCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzICAgDQogIHNjYWxlX3NoYXBlX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9KHBjaD04KSwiTm9uLWJsZWFjaCI9KHBjaD0xNikpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX3hfY29udGludW91cyhsaW1pdHM9YygtMywzKSxwYXN0ZShuYW1lcyhlaWdbMV0pLCBzcHJpbnRmKCcoJTAuMWYlJSBleHBsYWluZWQgdmFyLiknLCAxMDAgKiBlaWdbMV0vc3VtKGVpZykpKSkrDQogIHNjYWxlX3lfY29udGludW91cyhwYXN0ZShuYW1lcyhlaWdbMl0pLCBzcHJpbnRmKCcoJTAuMWYlJSBleHBsYWluZWQgdmFyLiknLCAxMDAgKiBlaWdbMl0vc3VtKGVpZykpKSkrDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMiwgZmFjZT0iaXRhbGljIikpDQpnbW9uc2Vhc29uDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGNvd3Bsb3QpDQpwY2FpbGx1c3RyYXRvcjwtY293cGxvdDo6cGxvdF9ncmlkKGdtb24sZ3BvcixnbW9uc2Vhc29uLCBncG9yc2Vhc29uLCBucm93PTIsIGFsaWduPSJoIiwgYXhpcyA9ICJidCIpDQpwY2FpbGx1c3RyYXRvcg0KYGBgDQoNCmBgYHtyfQ0KZWlnPC1laWdlbnZhbHMocGh5cy5yZGEpDQplaWcNCmBgYA0KYGBge3J9DQp2ZWcuaHVsbD0gcGNhLnNpdGVzLnNjb3JlcyAlPiUgZ3JvdXBfYnkoTW9udGhzKSAlPiUNCiAgZG8oew0KICAgIHg9Lg0KICAgIHhbY2h1bGwoeCRQQzEsIHgkUEMyKSxdDQogIH0pDQpgYGANCg0KIyMjTURTIFBvcml0ZXMgb25seQ0KYGBge3J9DQptZHNwb3I8LWRwbHlyOjpmaWx0ZXIocGh5cywgQ29yYWw9PSBjKCJQb3JpdGVzIGNvbXByZXNzYSIpKQ0KY29sbmFtZXMobWRzcG9yKQ0KI3Jvdy5oYXMubmEgPC0gYXBwbHkobWRzYmVmb3JlWywoODoxNyldLCAxLCBmdW5jdGlvbih4KXthbnkoaXMubmEoeCkpfSkNCiNtZHNiZWZvcmUuZmlsdGVyZWQgPC0gbWRzYmVmb3JlWyFyb3cuaGFzLm5hLF0NCiNtZHNiZWZvcmUuZmlsdGVyZWQNCmBgYA0KYGBge3J9DQpsaWJyYXJ5KHZlZ2FuKQ0KcGh5cy5yZGE8LSByZGEobWRzcG9yWywoNzoxMyldLCBuYS5ybT1UUlVFLCBzY2FsZT1UUlVFKSNpbmNsdWRlIG9ubHkgY29sdW1ucyBoZXJlIHRoYXQgYXJlIGJlbnRoaWMgY2F0ZWdvcmllcyAoZS5nLCBDQ0EsIG1hY3JvYWxnYWUsIFBvcml0ZXMpDQpgYGANCg0KYGBge3J9DQpiaXBsb3QocGh5cy5yZGEsIHNjYWxpbmc9MSwgbWFpbj0nU2NhbGluZycpDQpgYGANCg0KYGBge3J9DQpwY2Euc2l0ZXMuc2NvcmVzPC0gYXMuZGF0YS5mcmFtZShzY29yZXMocGh5cy5yZGEsIGRpc3BsYXk9J3NpdGVzJykpDQpwY2Euc2l0ZXMuc2NvcmVzPC0gZGF0YS5mcmFtZShwY2Euc2l0ZXMuc2NvcmVzLCBtZHNwb3IpDQpwY2Euc3BlY2llcy5zY29yZXM8LSBhcy5kYXRhLmZyYW1lKHNjb3JlcyhwaHlzLnJkYSwgZGlzcGxheT0nc3BlY2llcycpKQ0KcGNhLnNwZWNpZXMuc2NvcmVzJFNwZWNpZXM8LSByb3duYW1lcyhwY2Euc3BlY2llcy5zY29yZXMpDQpwY2Euc3BlY2llcy5zY29yZXMNCmBgYA0KYGBge3J9DQppbmNsdWRlX2xpc3Q8LSBjKCJQcm90ZWluX21nLmNtLjIiLCJTeW0uZGVuc2l0eV8xMC42Y2VsbHMuY20uMiIsIkNobC5hX3VnLmNtMiIsICJwZy5DaGwuYS5wZXIuem9veCIsICJBRkRXX21nLmNtLjIiLCAiQ2FDTzMuRGVuc2l0eV9nLm1MLjEiKSAjTGlzdCBvZiB2ZWN0b3JzIHRvIGluY2x1ZSBvbiB0aGUgYmVsb3cgcGxvdA0KcGNhLnNwZWNpZXMuc2NvcmVzPC1wY2Euc3BlY2llcy5zY29yZXNbaW5jbHVkZV9saXN0LF0NCmBgYA0KDQpgYGB7cn0NCmVpZzwtZWlnZW52YWxzKHBoeXMucmRhKQ0KZWlnDQpgYGANCg0KYGBge3J9DQpncG9yPC1nZ3Bsb3QoKSsNCiAgZ2VvbV9wb2ludChkYXRhPXBjYS5zaXRlcy5zY29yZXMsIGFlcyh5PVBDMiwgeD1QQzEsIGNvbG9yPU1vbnRocywgc2hhcGU9QmxlYWNoKSwgc2l6ZT0zLCBhbHBoYT0wLjgpKw0KICBmYWNldF93cmFwKH5Db3JhbCkrDQogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDAsIGxpbmV0eXBlID0gMiwgYWxwaGEgPSAwLjgsIGNvbG9yID0gImRhcmtncmF5IikgKyANCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAyLCBhbHBoYSA9IDAuOCwgY29sb3IgPSAiZGFya2dyYXkiKSArDQogIGdlb21fc2VnbWVudChkYXRhPXBjYS5zcGVjaWVzLnNjb3JlcywgYWVzKHk9MCwgeD0wLCB5ZW5kPVBDMiwgeGVuZD1QQzEpLCBhcnJvdz1hcnJvdyhsZW5ndGg9dW5pdCgwLjMsICdsaW5lcycpKSxjb2xvcj0nYmxhY2snLCBsaW5ldHlwZT0nc29saWQnLGFscGhhPTAuOSkrDQogIGdlb21fdGV4dChkYXRhPXBjYS5zcGVjaWVzLnNjb3JlcywgYWVzKHk9UEMyLCB4PVBDMSwgbGFiZWw9U3BlY2llcyksIGNvbG9yPSJibGFjayIpKw0KICBzY2FsZV9jb2xvcl9icmV3ZXIocGFsZXR0ZSA9ICJSZFlsQnUiKSsNCiAgI3NjYWxlX2NvbG9yX21hbnVhbCgiWWVhciIsIHZhbHVlcz1jKCIyMDE5Ij0nY29yYWwyJywiMjAyMCI9J3BhbGV0dXJxdW9pc2UyJywiMjAyMSI9J2RhcmtzbGF0ZWdyYXk0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMgICANCiAgc2NhbGVfc2hhcGVfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0ocGNoPTgpLCJOb24tYmxlYWNoIj0ocGNoPTE2KSkpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfeF9jb250aW51b3VzKGxpbWl0cz1jKC0zLDMpLHBhc3RlKG5hbWVzKGVpZ1sxXSksIHNwcmludGYoJyglMC4xZiUlIGV4cGxhaW5lZCB2YXIuKScsIDEwMCAqIGVpZ1sxXS9zdW0oZWlnKSkpKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKHBhc3RlKG5hbWVzKGVpZ1syXSksIHNwcmludGYoJyglMC4xZiUlIGV4cGxhaW5lZCB2YXIuKScsIDEwMCAqIGVpZ1syXS9zdW0oZWlnKSkpKSsNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmdwb3INCmBgYA0KYGBge3J9DQpncG9yc2Vhc29uPC1nZ3Bsb3QoKSsNCiAgZ2VvbV9wb2ludChkYXRhPXBjYS5zaXRlcy5zY29yZXMsIGFlcyh5PVBDMiwgeD1QQzEsIGNvbG9yPXNlYXNvbiwgc2hhcGU9QmxlYWNoKSwgc2l6ZT0zLCBhbHBoYT0wLjgpKw0KICBmYWNldF93cmFwKH5Db3JhbCkrDQogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDAsIGxpbmV0eXBlID0gMiwgYWxwaGEgPSAwLjgsIGNvbG9yID0gImRhcmtncmF5IikgKyANCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gMCwgbGluZXR5cGUgPSAyLCBhbHBoYSA9IDAuOCwgY29sb3IgPSAiZGFya2dyYXkiKSArDQogIGdlb21fc2VnbWVudChkYXRhPXBjYS5zcGVjaWVzLnNjb3JlcywgYWVzKHk9MCwgeD0wLCB5ZW5kPVBDMiwgeGVuZD1QQzEpLCBhcnJvdz1hcnJvdyhsZW5ndGg9dW5pdCgwLjMsICdsaW5lcycpKSxjb2xvcj0nYmxhY2snLCBsaW5ldHlwZT0nc29saWQnLGFscGhhPTAuOSkrDQogIGdlb21fdGV4dChkYXRhPXBjYS5zcGVjaWVzLnNjb3JlcywgYWVzKHk9UEMyLCB4PVBDMSwgbGFiZWw9U3BlY2llcyksIGNvbG9yPSJibGFjayIpKw0KICAjc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSAiUmRZbEJ1IikrDQogIHNjYWxlX2NvbG9yX21hbnVhbCgic2Vhc29uIiwgdmFsdWVzPWMoInN1bW1lciI9J2luZGlhbnJlZDMnLCAid2ludGVyIj0gIm5hdnlibHVlIiwiTkEiPSJ3aGl0ZSIpKSsNCiAgI3NjYWxlX2NvbG9yX21hbnVhbCgiWWVhciIsIHZhbHVlcz1jKCIyMDE5Ij0nY29yYWwyJywiMjAyMCI9J3BhbGV0dXJxdW9pc2UyJywiMjAyMSI9J2RhcmtzbGF0ZWdyYXk0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMgICANCiAgc2NhbGVfc2hhcGVfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0ocGNoPTgpLCJOb24tYmxlYWNoIj0ocGNoPTE2KSkpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfeF9jb250aW51b3VzKGxpbWl0cz1jKC0zLDMpLHBhc3RlKG5hbWVzKGVpZ1sxXSksIHNwcmludGYoJyglMC4xZiUlIGV4cGxhaW5lZCB2YXIuKScsIDEwMCAqIGVpZ1sxXS9zdW0oZWlnKSkpKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKHBhc3RlKG5hbWVzKGVpZ1syXSksIHNwcmludGYoJyglMC4xZiUlIGV4cGxhaW5lZCB2YXIuKScsIDEwMCAqIGVpZ1syXS9zdW0oZWlnKSkpKSsNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIHBhbmVsLmJhY2tncm91bmQ9IGVsZW1lbnRfcmVjdChmaWxsPU5BLCBjb2xvcj0nYmxhY2snKSwNCiAgICAgICAgc3RyaXAudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCmdwb3JzZWFzb24NCmBgYA0KDQoNCg0KDQpgYGB7cn0NCnBlcm1hbm92YV9wb3I8LWFkb25pcyhtZHNwb3JbLCg3OjEzKV0gfiBCbGVhY2gqTW9udGhzLCBkYXRhPW1kc3BvciwgcGVybXV0YXRpb25zPTk5OTkpDQpwZXJtYW5vdmFfcG9yDQpsaWJyYXJ5KHBhaXJ3aXNlQWRvbmlzKQ0KcGFpcndpc2UuYWRvbmlzMihtZHNwb3JbLCg3OjEzKV0gfk1vbnRocywgZGF0YT1tZHNwb3IsIHBlcm11dGF0aW9ucyA9IDk5OTksIG5hLnJtPVQpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGNvd3Bsb3QpDQpwY2FpbGx1c3RyYXRvcjwtY293cGxvdDo6cGxvdF9ncmlkKGdtb24sZ3BvcixnLCBucm93PTMsbmNvbD0yLCBhbGlnbj0iaCIsIGF4aXMgPSAiYnQiKQ0KcGNhaWxsdXN0cmF0b3INCmBgYA0KDQojU1RIUw0KIyNUZW1wZXJhdHVyZSBkYXRhDQpgYGB7cn0NCmFtYjwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvU1RIUyB0ZW1wZXJhdHVyZSBwcm9maWxlcy9BTUJfMjEyNTc5MzcuY3N2IikNCm1pbGQ8LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL1NUSFMgdGVtcGVyYXR1cmUgcHJvZmlsZXMvM0NfMjEyNTc5MzUuY3N2IikNCm1vZDwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvU1RIUyB0ZW1wZXJhdHVyZSBwcm9maWxlcy82Q18yMTI1NzkzNi5jc3YiKQ0KZXg8LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL1NUSFMgdGVtcGVyYXR1cmUgcHJvZmlsZXMvOUNfMjA0NzMyOTkuY3N2IikNCmFtYjwtIHBseXI6OnJlbmFtZShhbWIsIGMoIsOvLi5EYXRlIj0iRGF0ZSIpKQ0KYW1iJERhdGU8LWFzLkRhdGUoYW1iJERhdGUpDQphbWIkVHJlYXRtZW50PC1hcy5mYWN0b3IoYW1iJFRyZWF0bWVudCkNCmFtYg0KbWlsZDwtIHBseXI6OnJlbmFtZShtaWxkLCBjKCLDry4uRGF0ZSI9IkRhdGUiKSkNCm1pbGQkRGF0ZTwtYXMuRGF0ZShtaWxkJERhdGUpDQptaWxkJFRyZWF0bWVudDwtYXMuZmFjdG9yKG1pbGQkVHJlYXRtZW50KQ0KbWlsZA0KbW9kPC0gcGx5cjo6cmVuYW1lKG1vZCwgYygiw68uLkRhdGUiPSJEYXRlIikpDQptb2QkRGF0ZTwtYXMuRGF0ZShtb2QkRGF0ZSkNCm1vZCRUcmVhdG1lbnQ8LWFzLmZhY3Rvcihtb2QkVHJlYXRtZW50KQ0KbW9kDQpleDwtIHBseXI6OnJlbmFtZShleCwgYygiw68uLkRhdGUiPSJEYXRlIikpDQpleCREYXRlPC1hcy5EYXRlKGV4JERhdGUpDQpleCRUcmVhdG1lbnQ8LWFzLmZhY3RvcihleCRUcmVhdG1lbnQpDQpleA0KYGBgDQoNCmBgYHtyfQ0KYWxsdGVtcDwtIG1lcmdlKGFtYiwgbWlsZCwgYnk9YygiRGF0ZSIsIlRpbWUiLCJUZW1wZXJhdHVyZSIsIlRyZWF0bWVudCIpLCBhbGw9VCkNCmFsbHRlbXA8LSBtZXJnZShhbGx0ZW1wLCBtb2QsIGJ5PWMoIkRhdGUiLCJUaW1lIiwiVGVtcGVyYXR1cmUiLCJUcmVhdG1lbnQiKSwgYWxsPVQpDQphbGx0ZW1wPC0gbWVyZ2UoYWxsdGVtcCwgZXgsIGJ5PWMoIkRhdGUiLCJUaW1lIiwiVGVtcGVyYXR1cmUiLCJUcmVhdG1lbnQiKSwgYWxsPVQpDQphbGx0ZW1wJERhdGVfVGltZTwtIGFzLlBPU0lYY3QocGFzdGUoYWxsdGVtcCREYXRlLCBhbGx0ZW1wJFRpbWUpLCAiJVktJW0tJWQgaGg6bW06c3MiKQ0KYWxsdGVtcCRUcmVhdG1lbnQ8LWFzLmZhY3RvcihhbGx0ZW1wJFRyZWF0bWVudCkNCmFsbHRlbXAkaG91ciA8LSBhcy5QT1NJWGx0KGFsbHRlbXAkRGF0ZV9UaW1lKSRob3VyDQphbGx0ZW1wDQp1bmlxdWUoYWxsdGVtcCRob3VyKQ0KYGBgDQpgYGB7cn0NCiN3cml0ZS5jc3YoYWxsdGVtcCwgIlNob3J0LXRlcm0gaGVhdCBzdHJlc3MgdGVtcGVyYXR1cmUgZGF0YS5jc3YiKQ0KYGBgDQoNCg0KYGBge3J9DQp0ZW1wc3ViPC1maWx0ZXIoYWxsdGVtcCwgRGF0ZSA9PSBjKCIyMDIyLTA5LTAxIiwgIjIwMjItMDktMDIiLCIyMDIyLTA5LTAzIikpDQp0ZW1wc3ViDQpgYGANCg0KYGBge3J9DQp0ZW1wc3ViX21lYW48LXN1bW1hcnlTRSh0ZW1wc3ViLCBtZWFzdXJldmFyPSdUZW1wZXJhdHVyZScsIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0KdGVtcHN1Yl9tZWFuDQpgYGANCg0KYGBge3J9DQphbGx0ZW1wX21lYW48LXN1bW1hcnlTRShhbGx0ZW1wLCBtZWFzdXJldmFyPSdUZW1wZXJhdHVyZScsIGdyb3VwdmFycz1jKCdUcmVhdG1lbnQnLCAiRGF0ZSIsICJob3VyIiksIG5hLnJtPVRSVUUsIGNvbmYuaW50ZXJ2YWwgPSAwLjk1KQ0KYWxsdGVtcF9tZWFuDQpgYGANCg0KDQoNCg0KYGBge3J9DQpzdGhzLmxtPC0gbG0oVGVtcGVyYXR1cmV+VHJlYXRtZW50LCBkYXRhPWFsbHRlbXBfbWVhbikgI0dhdXNzaWFuDQpjYXI6OkFub3ZhKHN0aHMubG0pDQp0dWtleTM8LSBlbW1lYW5zKHN0aHMubG0sIGxpc3QocGFpcndpc2UgfiBUcmVhdG1lbnQpLCBhZGp1c3QgPSAidHVrZXkiKQ0KdHVrZXkzDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChzdGhzLmxtLCBhc2s9RkFMU0UsIHdoaWNoPTE6NikNCmBgYA0KDQoNCg0KYGBge3J9DQpsaW1zIDwtIGFzLlBPU0lYY3Qoc3RycHRpbWUoYygiMjAyMi0wOS0wNCAwMDowMCIsICIyMDIyLTA5LTA1IDA6MDAiKSwgDQogICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gIiVZLSVtLSVkICVIOiVNIikpDQphbGx0ZW1wJERhdGU8LSBhcy5EYXRlKGFzLlBPU0lYY3QoYWxsdGVtcCREYXRlLCBvcmlnaW49IjE5NzAtMDEtMDEiKSkNClNUSFNfaG9ib190ZW1wPC1nZ3Bsb3QoYWxsdGVtcCwgYWVzKHk9VGVtcGVyYXR1cmUsIHg9RGF0ZV9UaW1lLCBjb2xvcj1UcmVhdG1lbnQpKSsNCiAgZ2VvbV9saW5lKHNpemU9MSkrDQogICNnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAyNy43LCBsaW5ldHlwZT0ic29saWQiLCBjb2xvciA9ICdibGFjaycsIHNpemU9MC43LCBzaG93LmxlZ2VuZCA9IFRSVUUpKw0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAyOC43LCBsaW5ldHlwZT0ic29saWQiLCBjb2xvciA9ICdibGFjaycsIHNpemU9MC43LCBzaG93LmxlZ2VuZCA9IFRSVUUpKw0KICBzY2FsZV94X2RhdGV0aW1lKGxhYmVscyA9IGRhdGVfZm9ybWF0KCIlSDolTSIpLCBicmVha3MgPSBkYXRlX2JyZWFrcygiMyBob3VycyIpLGxpbWl0cz1saW1zLCAgZXhwYW5kPWMoMC4wMTUsMC4wMTUpKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oVGVtcGVyYXR1cmV+KGRlZ3JlZX5DKSkpKw0KICBzY2FsZV9jb2xvcl9icmV3ZXIocGFsZXR0ZSA9IlJkQnUiLCBkaXJlY3Rpb24gPS0xKSsNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LHNpemU9MTIpLCNhbmdsaW5nIHRoZSBsYWJlbHMgb24gdGhlIHgtYXhpcw0KICAgICAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KG1hcmdpbiA9IG1hcmdpbih0ID0gMTAsIGIgPSAxMCksIGhqdXN0PTAuNSksI3RlbGxpbmcgaXQgd2hlcmUgdG8gcG9zaXRpb24gb3VyIHBsb3QgdGl0bGUNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLCN0aGlzIGlzIG1ha2luZyB0aGUgYmxhY2sgYm94IGFyb3VuZCB0aGUgZ3JhcGgNCiAgICAgICAgc3RyaXAuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSwgDQogICAgICAgICNzdHJpcC50ZXh0ID0gZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X3RleHQoKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPWMoMC44OSwwLjgwKSwNCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwgI21ha2luZyB0aGUgYXhpcyB0ZXh0IGxhcmdlciANCiAgICAgICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLCNtYWtpbmcgdGhlIGF4aXMgdGl0bGUgbGFyZ2VyIA0KICAgICAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpI21ha2luZyB0aGUgYXhpcyB0aXRsZSBsYXJnZXIgDQpTVEhTX2hvYm9fdGVtcA0KYGBgDQpgYGB7cn0NCnRlbXBmaWdzPC1jb3dwbG90OjpwbG90X2dyaWQoU1RIU19ob2JvX3RlbXAsIFNUSFNfaG9ib190ZW1wLFNUSFNfaG9ib190ZW1wLCBTVEhTX2hvYm9fdGVtcCwgbnJvdyA9IDIsIG5jb2wgPSAyKQ0KdGVtcGZpZ3MNCmBgYA0KDQojI1BBTQ0KYGBge3J9DQpwYW08LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL1BBTSBkYXRhIGZvciBTVEhTLmNzdiIpDQpwYW0kVHJlYXRtZW50PC0gYXMuZmFjdG9yKHBhbSRUcmVhdG1lbnQpDQpwYW0kQmxlYWNoPC1hcy5mYWN0b3IocGFtJEJsZWFjaCkNCiNwYW0kTW9udGhzPC1hcy5mYWN0b3IocGFtJE1vbnRocykNCnBhbSRTcGVjaWVzPC1hcy5mYWN0b3IocGFtJFNwZWNpZXMpDQpwYW0kQ29sb255LklEPC1hcy5mYWN0b3IocGFtJENvbG9ueS5JRCkNCnBhbSRSZXA8LWFzLmZhY3RvcihwYW0kUmVwKQ0KcGFtJFRlbXBlcmF0dXJlPC0gYXMubnVtZXJpYyhwYW0kVGVtcGVyYXR1cmUpDQpwYW0NCmBgYA0KYGBge3J9DQpsaWJyYXJ5KFJtaXNjKQ0KYWxscGFtc3VtPC1zdW1tYXJ5U0UocGFtLCBtZWFzdXJldmFyPSdZJywgZ3JvdXB2YXJzPWMoJ1RyZWF0bWVudCcsIlRlbXBlcmF0dXJlIiwnU3BlY2llcycsJ0JsZWFjaCcsIkNvbG9ueS5JRCIpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCmFsbHBhbXN1bQ0KYGBgDQoNCg0KIyMjTm9ybWFsaXR5DQpgYGB7cn0NCmhpc3QoYWxscGFtc3VtJFkpDQpgYGANCg0KYGBge3J9DQpzdGhzLmxtPC0gbG0oWX5UcmVhdG1lbnQqU3BlY2llcypCbGVhY2gsIGRhdGE9YWxscGFtc3VtKSAjR2F1c3NpYW4NCnBhcihtZnJvdz1jKDIsMykpDQpwbG90KHN0aHMubG0sIGFzaz1GQUxTRSwgd2hpY2g9MTo2KQ0KYGBgDQojIyNTdGF0cw0KYGBge3J9DQpZLmxtZSA8LSBsbWUoWX5UcmVhdG1lbnQqU3BlY2llcypCbGVhY2gsIHJhbmRvbSA9IH4xfENvbG9ueS5JRCwgZGF0YT1hbGxwYW1zdW0sIG5hLmFjdGlvbj1uYS5leGNsdWRlKQ0KY2FyOjpBbm92YShZLmxtZSwgdHlwZT0zKQ0KdHVrZXkzPC0gZW1tZWFucyhZLmxtZSwgbGlzdChwYWlyd2lzZSB+IFRyZWF0bWVudDpTcGVjaWVzKSwgYWRqdXN0ID0gInR1a2V5Iiwgc2ltcGxlPSJTcGVjaWVzIikNCnR1a2V5Mw0KdHVrZXkyPC0gZW1tZWFucyhZLmxtZSwgbGlzdChwYWlyd2lzZSB+IFRyZWF0bWVudDpCbGVhY2gpLCBhZGp1c3QgPSAidHVrZXkiLCBzaW1wbGU9IkJsZWFjaCIpDQp0dWtleTINCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoWS5sbWUpDQpyLnNxdWFyZWRHTE1NKFkubG1lKQ0KYGBgDQojIyMjQ29lZmZpY2llbnRzDQpgYGB7cn0NCmNvZWYoWS5sbWUpDQpgYGANCg0KYGBge3J9DQphbGxwYW1zdW0yPC1zdW1tYXJ5U0UocGFtLCBtZWFzdXJldmFyPSdZJywgZ3JvdXB2YXJzPWMoJ1RyZWF0bWVudCcsIlRlbXBlcmF0dXJlIiwnU3BlY2llcycsJ0JsZWFjaCcpLCBuYS5ybT1UUlVFLCBjb25mLmludGVydmFsID0gMC45NSkNCmFsbHBhbXN1bTINCmBgYA0KIyMjRmlndXJlDQpgYGB7cn0NCmFsbHBhbXN1bSRUcmVhdG1lbnQgPC0gZmFjdG9yKGFsbHBhbXN1bSRUcmVhdG1lbnQsIGxldmVscz1jKCJBTUIiLCIzQyIsIjZDIiwiOUMiKSkNCmFsbHBhbXN1bSRUZW1wZXJhdHVyZTwtIGZhY3RvcihhbGxwYW1zdW0kVGVtcGVyYXR1cmUsIGxldmVscyA9YygiMjcuNyIsIjMwLjciLCIzMy43IiwiMzYuNyIpKQ0KYWxscGFtc3VtJEJsZWFjaDwtIGZhY3RvcihhbGxwYW1zdW0kQmxlYWNoLCBsZXZlbHMgPWMoIk5vbi1ibGVhY2giLCJCbGVhY2giKSkNCmFsbHBhbXN1bTIkVHJlYXRtZW50IDwtIGZhY3RvcihhbGxwYW1zdW0yJFRyZWF0bWVudCwgbGV2ZWxzPWMoIkFNQiIsIjNDIiwiNkMiLCI5QyIpKQ0KYWxscGFtc3VtMiRUZW1wZXJhdHVyZTwtIGZhY3RvcihhbGxwYW1zdW0yJFRlbXBlcmF0dXJlLCBsZXZlbHMgPWMoIjI3LjciLCIzMC43IiwiMzMuNyIsIjM2LjciKSkNCmFsbHBhbXN1bTIkQmxlYWNoPC0gZmFjdG9yKGFsbHBhbXN1bTIkQmxlYWNoLCBsZXZlbHMgPWMoIk5vbi1ibGVhY2giLCJCbGVhY2giKSkNCnBhbWZpZzwtZ2dwbG90KGFsbHBhbXN1bTIsIGFlcyh5PVksIHg9VHJlYXRtZW50LCBjb2xvcj1CbGVhY2gpKSsgDQogIGdlb21fcG9pbnQoZGF0YT1hbGxwYW1zdW0sIGFlcyh5PVkseD1UcmVhdG1lbnQsIGNvbG9yPUJsZWFjaCksYWxwaGE9MC41LHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKDAuMDUpKSsNCiAgZ2VvbV9wYXRoKGFlcyhzdGF0PSJpZGVudGl0eSIpLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpKSsNCiAgZmFjZXRfd3JhcCh+U3BlY2llcywgbnJvdz0xKSsNCiAgZ2VvbV9wb2ludChzaXplPTEsIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKDAuNSksc3RhdD0iaWRlbnRpdHkiKSsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1ZLXNlLCB5bWF4PVkrc2UsIHdpZHRoPSAwLjUpLCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC41KSxzdGF0PSJpZGVudGl0eSIpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGV4cHJlc3Npb24oUGhvdG9zeW50aGV0aWN+ZWZmaWNpZW5jeX4oRnYvRm0pKSwgbGltaXRzPWMoMCwwLjc1KSwgYnJlYWtzPWMoMCwwLjI1LDAuNTAsMC43NSkpKyAgDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0Lng9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGV4dC55PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRpdGxlLnk9ZWxlbWVudF90ZXh0KHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb249Im5vbmUiLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyLCBmYWNlPSJpdGFsaWMiKSkNCnBhbWZpZw0KYGBgDQpgYGB7cn0NCmVkNTBtPC1yZWFkLmNzdigiL1VzZXJzL2lta3JpL0Rlc2t0b3AvUGVubiBQb3N0ZG9jL0hhd2FpaS9Nb250aXBvcmEgZWQ1MC5jc3YiKQ0KZWQ1MG0kQmxlYWNoPC1hcy5mYWN0b3IoZWQ1MG0kQmxlYWNoKQ0KZWQ1MG0NCmBgYA0KDQpgYGB7cn0NCmVkNTBwPC1yZWFkLmNzdigiL1VzZXJzL2lta3JpL0Rlc2t0b3AvUGVubiBQb3N0ZG9jL0hhd2FpaS9Qb3JpdGVzIGVkNTAuY3N2IikNCmVkNTBwJEJsZWFjaDwtYXMuZmFjdG9yKGVkNTBwJEJsZWFjaCkNCmVkNTBwDQpgYGANCg0KYGBge3J9DQphbGxwYW1zdW1wb3JpdGVzPC1maWx0ZXIoYWxscGFtc3VtLCBTcGVjaWVzID09ICJQb3JpdGVzIGNvbXByZXNzYSIpDQphbGxwYW1zdW1tb250aXBvcmE8LWZpbHRlcihhbGxwYW1zdW0sIFNwZWNpZXMgPT0gIk1vbnRpcG9yYSBjYXBpdGF0YSIpDQpgYGANCg0KI1Bvcml0ZXMgRFJNIG1vZGVsDQpgYGB7cn0NCmxpYnJhcnkoZHJjKSAjaWYgbm90IHdvcmtpbmcsIGVuc3VyZSB0ZW1wZXJhdHVyZSBpcyBudW1lcmljDQpzdGhzLmRyYy5wb3IgPC0gZHJtKFl+VGVtcGVyYXR1cmUsIGZjdD1MTC4zKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBhbGxwYW1zdW1wb3JpdGVzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ2ZWlkID0gQmxlYWNoKQ0Kc3Rocy5kcmMucG9yMiA8LSBkcm0oWX5UZW1wZXJhdHVyZSwgZmN0PUwuMygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYWxscGFtc3VtcG9yaXRlcywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VydmVpZCA9IEJsZWFjaCkNCnN1bW1hcnkoc3Rocy5kcmMucG9yKSMgcnVuIG1vZGVsLg0KcGxvdChzdGhzLmRyYy5wb3IpDQplZDUwPC1FRChzdGhzLmRyYy5wb3IsIDUwLCBpbnRlcnZhbD0iZGVsdGEiKQ0KZWQ1MA0KYGBgDQoNCg0KYGBge3J9DQpBSUNjKHN0aHMuZHJjLnBvciwgc3Rocy5kcmMucG9yMikNCmBgYA0KDQpgYGB7cn0NCiMjQ3JlYXRlIHByZWRpY3Rpb25zIGRhdGEgZnJhbWUNCm5ld2RhdGEgPSB3aXRoKGFsbHBhbXN1bXBvcml0ZXMsIA0KICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQuZ3JpZChCbGVhY2ggPSBsZXZlbHMoQmxlYWNoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBlcmF0dXJlPXNlcShtaW4oVGVtcGVyYXR1cmUsIG5hLnJtPVRSVUUpLCBtYXgoVGVtcGVyYXR1cmUsIG5hLnJtPVRSVUUpKyAxLCAwLjEpKSkNCnByZWQ8LSBhcy5kYXRhLmZyYW1lKHByZWRpY3Qoc3Rocy5kcmMucG9yLCBuZXdkYXRhPW5ld2RhdGEsIGludGVydmFsID0gImNvbmZpZGVuY2UiLCBsZXZlbD0wLjk1KSkNCiNuZXdkYXRhID0gZGF0YS5mcmFtZShuZXdkYXRhLCBmdmZtID0gbmV3ZGF0YSRQcmVkaWN0aW9uLCBMb3dlciA9IG5ld2RhdGEkTG93ZXIsIFVwcGVyID0gbmV3ZGF0YSRVcHBlcikNCnByZWQkQmxlYWNoID0gbmV3ZGF0YSRCbGVhY2gNCnByZWQkVGVtcGVyYXR1cmUgPSBuZXdkYXRhJFRlbXBlcmF0dXJlDQpwcmVkLmF2ZXJhZ2UgPSBwcmVkICU+JSANCiAgZ3JvdXBfYnkoQmxlYWNoLFRlbXBlcmF0dXJlKSAlPiUgDQogIHN1bW1hcmlzZV9hbGwoLmZ1bnM9bWVhbikNCnByZWQuYXZlcmFnZQ0KYGBgDQoNCmBgYHtyfQ0KcGFtLmZpZy5wb3I8LWdncGxvdChwcmVkLmF2ZXJhZ2UsIGFlcyh5PVByZWRpY3Rpb24sIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsNCiAgYW5ub3RhdGUoInJlY3QiLHhtaW49MzYuOTQ1ODgsIHhtYXg9MzcuNDE0MjQsIHltaW49LUluZiwgeW1heD1JbmYsZmlsbCA9IiNERkQzQjkiLCBhbHBoYSA9IDAuMikrDQogIGFubm90YXRlKCJyZWN0IiwgeG1pbj0zNy4wMTY1NiwgeG1heD0zNy41MzUzNCx5bWluPS1JbmYsIHltYXg9SW5mLCAgZmlsbD0gIiM3OTYzMzQiLCAgYWxwaGEgPSAwLjEpICsNCiAgZ2VvbV9saW5lKHNpemU9MSkrDQogIGdlb21fcmliYm9uKGFlcyh5bWluID0gTG93ZXIsIHltYXggPSBVcHBlciwgZmlsbCA9IEJsZWFjaCksIGFscGhhID0gMC40LCBzaG93LmxlZ2VuZCA9IEZBTFNFKSArDQogIGdlb21fcG9pbnQoZGF0YT1hbGxwYW1zdW1wb3JpdGVzLCBhZXMoeT1ZLCB4PVRlbXBlcmF0dXJlLCBjb2xvcj1CbGVhY2gpLGFscGhhPTAuNyxwb3NpdGlvbj1wb3NpdGlvbl9qaXR0ZXJkb2RnZSgwLjA1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV94X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUZW1wZXJhdHVyZX4oZGVncmVlfkMpKSwgbGltaXRzPWMoMjcsMzgpLGJyZWFrcz1jKDI3LDI5LDMxLDMzLDM1LDM3KSkrDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFBob3Rvc3ludGhldGljfmVmZmljaWVuY3l+KEZ2L0ZtKSksIGxpbWl0cz1jKDAsMC43NSksIGJyZWFrcz1jKDAsMC4yNSwwLjUsMC43NSkpKyAgDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IDM3LjE4MDA2MiwgbGluZXR5cGUgPSAyLCBzaXplPTEsIGFscGhhID0gMC44LCBjb2xvciA9ICIjREZEM0I5IikgKw0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAzNy4yNzU5NSwgbGluZXR5cGUgPSAyLCBzaXplPTEsYWxwaGEgPSAwLjgsIGNvbG9yID0gIiM3OTYzMzQiKSArDQogICNnZW9tX3BvaW50KGRhdGEgPSBlZDUwcCwgYWVzKHk9RXN0aW1hdGUsIHggPSBlZDUwLGNvbG9yPUJsZWFjaCxmaWxsPUJsZWFjaCksc2l6ZT00LCBzaGFwZT0xNykrDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMikpDQpwYW0uZmlnLnBvcg0KYGBgDQoNCg0KDQoNCmBgYHtyfQ0KbGlicmFyeShkcmMpDQpzdGhzLmRyYy5tb24gPC0gZHJtKFl+VGVtcGVyYXR1cmUsIGZjdD1MTC4zKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBhbGxwYW1zdW1tb250aXBvcmEsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnZlaWQgPSBCbGVhY2gpDQpzdW1tYXJ5KHN0aHMuZHJjLm1vbikjIHJ1biBtb2RlbC4NCnBsb3Qoc3Rocy5kcmMubW9uKQ0KZWQ1MDwtRUQoc3Rocy5kcmMubW9uLCA1MCwgaW50ZXJ2YWw9ImRlbHRhIikNCmVkNTANCmBgYA0KYGBge3J9DQojI0NyZWF0ZSBwcmVkaWN0aW9ucyBkYXRhIGZyYW1lDQpuZXdkYXRhID0gd2l0aChhbGxwYW1zdW1tb250aXBvcmEsIA0KICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZC5ncmlkKEJsZWFjaCA9IGxldmVscyhCbGVhY2gpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcGVyYXR1cmU9c2VxKG1pbihUZW1wZXJhdHVyZSwgbmEucm09VFJVRSksIG1heChUZW1wZXJhdHVyZSwgbmEucm09VFJVRSkrIDEsIDAuMSkpKQ0KcHJlZDwtIGFzLmRhdGEuZnJhbWUocHJlZGljdChzdGhzLmRyYy5tb24sIG5ld2RhdGE9bmV3ZGF0YSwgaW50ZXJ2YWwgPSAiY29uZmlkZW5jZSIsIGxldmVsPTAuOTUpKQ0KI25ld2RhdGEgPSBkYXRhLmZyYW1lKG5ld2RhdGEsIGZ2Zm0gPSBuZXdkYXRhJFByZWRpY3Rpb24sIExvd2VyID0gbmV3ZGF0YSRMb3dlciwgVXBwZXIgPSBuZXdkYXRhJFVwcGVyKQ0KcHJlZCRCbGVhY2ggPSBuZXdkYXRhJEJsZWFjaA0KcHJlZCRUZW1wZXJhdHVyZSA9IG5ld2RhdGEkVGVtcGVyYXR1cmUNCnByZWQuYXZlcmFnZSA9IHByZWQgJT4lIA0KICBncm91cF9ieShCbGVhY2gsVGVtcGVyYXR1cmUpICU+JSANCiAgc3VtbWFyaXNlX2FsbCguZnVucz1tZWFuKQ0KcHJlZC5hdmVyYWdlDQpgYGANCmBgYHtyfQ0KcGFtLmZpZy5tb248LWdncGxvdChwcmVkLmF2ZXJhZ2UsIGFlcyh5PVByZWRpY3Rpb24sIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGFubm90YXRlKCJyZWN0Iix4bWluPTM1LjkyNDg4LCB4bWF4PTM2LjI3NjU4LCB5bWluPS1JbmYsIHltYXg9SW5mLGZpbGwgPSIjREZEM0I5IiwgYWxwaGEgPSAwLjIpKw0KICBhbm5vdGF0ZSgicmVjdCIsIHhtaW49MzYuNDcwODksIHhtYXg9MzYuNzQxOTEseW1pbj0tSW5mLCB5bWF4PUluZiwgIGZpbGw9ICIjNzk2MzM0IiwgIGFscGhhID0gMC4xKSArDQogIGdlb21fbGluZShzaXplPTEpKw0KICBnZW9tX3JpYmJvbihhZXMoeW1pbiA9IExvd2VyLCB5bWF4ID0gVXBwZXIsIGZpbGwgPSBCbGVhY2gpLCBhbHBoYSA9IDAuNCwgc2hvdy5sZWdlbmQgPSBGQUxTRSkgKw0KICBnZW9tX3BvaW50KGRhdGE9YWxscGFtc3VtbW9udGlwb3JhLCBhZXMoeT1ZLCB4PVRlbXBlcmF0dXJlLCBjb2xvcj1CbGVhY2gpLGFscGhhPTAuNyxwb3NpdGlvbj1wb3NpdGlvbl9qaXR0ZXJkb2RnZSgwLjA1KSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX2NvbG9yX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV94X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihUZW1wZXJhdHVyZX4oZGVncmVlfkMpKSwgbGltaXRzPWMoMjcsMzgpLGJyZWFrcz1jKDI3LDI5LDMxLDMzLDM1LDM3KSkrDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFBob3Rvc3ludGhldGljfmVmZmljaWVuY3l+KEZ2L0ZtKSksIGxpbWl0cz1jKDAsMC43NSksIGJyZWFrcz1jKDAsMC4yNSwwLjUsMC43NSkpKyANCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gMzYuMTAwNzMzLCBsaW5ldHlwZSA9IDIsIHNpemU9MSwgYWxwaGEgPSAwLjgsIGNvbG9yID0gIiNERkQzQjkiKSArDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IDM2LjYwNjM5NywgbGluZXR5cGUgPSAyLCBzaXplPTEsYWxwaGEgPSAwLjgsIGNvbG9yID0gIiM3OTYzMzQiKSArDQogICNnZW9tX3BvaW50KGRhdGEgPSBlZDUwbSwgYWVzKHk9RXN0aW1hdGUsIHggPSBlZDUwLGNvbG9yPUJsZWFjaCxmaWxsPUJsZWFjaCksc2l6ZT00LCBzaGFwZT0xNykrDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPWMoMC4xNSwwLjIpLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSkNCnBhbS5maWcubW9uDQpgYGANCg0KYGBge3J9DQpwYW1maWcyPC1nZ3Bsb3QoYWxscGFtc3VtLCBhZXMoeT1ZLCB4PVRlbXBlcmF0dXJlLCBjb2xvcj1CbGVhY2gsIGZpbGw9QmxlYWNoKSkrIA0KICBnZW9tX3BvaW50KGFscGhhPTAuNSkrDQogIGdlb21fc21vb3RoKG1ldGhvZD1kcm0sIG1ldGhvZC5hcmdzPWxpc3QoZmN0PUwuMygpKSwgc2U9RikrDQogIGZhY2V0X2dyaWQoflNwZWNpZXMpKw0KICAjc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjQgbW9udGhzIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJXkiKSsgDQogICNzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDaGxvcm9waHlsbH5pdGFsaWMoYSl+KG11fmd+J1xVMjIxOSd+Y21eey0yfSkpKSsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKFBob3Rvc3ludGhldGljfmVmZmljaWVuY3l+KEZ2L0ZtKSksIGxpbWl0cz1jKDAsMC44KSwgYnJlYWtzPWMoMCwwLjI1LDAuNTAsMC43NSkpKyANCiAgI2dlb21faGxpbmUoeWludGVyY2VwdD0wLjQpKw0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPWMoMzYuMjMyMzgpLCBsaW5ldHlwZT0nc29saWQnLCBzaXplPTEsIGNvbG9yPScjREZEM0I5JykrDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9YygzNy4wODcyOCksIGxpbmV0eXBlPSdkYXNoZWQnLCBzaXplPTEsIGNvbG9yPScjREZEM0I5JykrDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9YygzNi42MjI0MzQpLCBsaW5ldHlwZT0nc29saWQnLCBzaXplPTEsIGNvbG9yPScjNzk2MzM0JykrDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9YygzNy4xODUyNDkpLCBsaW5ldHlwZT0nZGFzaGVkJywgc2l6ZT0xLCBjb2xvcj0nIzc5NjMzNCcpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPWMoMC4xMiwwLjE1KSwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIsIGZhY2U9Iml0YWxpYyIpKQ0KcGFtZmlnMg0KYGBgDQoNCg0KYGBge3J9DQpwYW1maWdzPC1jb3dwbG90OjpwbG90X2dyaWQocGFtZmlnMiwgcGFtZmlnMiwgbnJvdyA9IDIsIG5jb2wgPSAxKQ0KcGFtZmlncw0KYGBgDQoNCiMjQ29sb3Igc2NvcmUNCmBgYHtyfQ0KY29sb3I8LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL0NvbG9yIHNjb3JlIGRhdGEgU1RIUy5jc3YiKQ0KY29sb3IkVHJlYXRtZW50PC0gYXMuZmFjdG9yKGNvbG9yJFRyZWF0bWVudCkNCmNvbG9yJEJsZWFjaDwtYXMuZmFjdG9yKGNvbG9yJEJsZWFjaCkNCiNjb2xvciRNb250aHM8LWFzLmZhY3Rvcihjb2xvciRNb250aHMpDQpjb2xvciRTcGVjaWVzPC1hcy5mYWN0b3IoY29sb3IkU3BlY2llcykNCmNvbG9yJENvbG9ueS5JRDwtYXMuZmFjdG9yKGNvbG9yJENvbG9ueS5JRCkNCiNjb2xvciRSZXA8LWFzLmZhY3Rvcihjb2xvciRSZXApDQpjb2xvcg0KYGBgDQoNCiMjI05vcm1hbGl0eQ0KYGBge3J9DQpoaXN0KGNvbG9yJENvbG9yX2F2ZykNCmBgYA0KDQpgYGB7cn0NCnN0aHNjLmxtPC0gbG0oQ29sb3JfYXZnflRyZWF0bWVudCpTcGVjaWVzKkJsZWFjaCwgZGF0YT1jb2xvcikgI0dhdXNzaWFuDQpwYXIobWZyb3c9YygyLDMpKQ0KcGxvdChzdGhzYy5sbSwgYXNrPUZBTFNFLCB3aGljaD0xOjYpDQpgYGANCiMjI1N0YXRzDQpgYGB7cn0NCmNvbG9yLmxtZSA8LSBsbWUoQ29sb3JfYXZnflRyZWF0bWVudCpTcGVjaWVzKkJsZWFjaCwgcmFuZG9tID0gfjF8Q29sb255LklELCBkYXRhPWNvbG9yLCBuYS5hY3Rpb249bmEuZXhjbHVkZSkNCmNhcjo6QW5vdmEoY29sb3IubG1lLCB0eXBlPTMpDQp0dWtleTM8LSBlbW1lYW5zKGNvbG9yLmxtZSwgbGlzdChwYWlyd2lzZSB+IFNwZWNpZXM6QmxlYWNoKSwgYWRqdXN0ID0gInR1a2V5Iiwgc2ltcGxlPSJCbGVhY2giKQ0KdHVrZXkzDQp0dWtleTI8LSBlbW1lYW5zKGNvbG9yLmxtZSwgbGlzdChwYWlyd2lzZSB+IFRyZWF0bWVudCksIGFkanVzdCA9ICJ0dWtleSIpDQp0dWtleTINCmBgYA0KYGBge3J9DQpzdW1tYXJ5KGNvbG9yLmxtZSkNCnIuc3F1YXJlZEdMTU0oY29sb3IubG1lKQ0KYGBgDQojIyMjQ29lZmZpY2llbnRzDQpgYGB7cn0NCmNvZWYoY29sb3IubG1lKQ0KYGBgDQoNCmBgYHtyfQ0KYWxsY29sb3JzdW1wb3JpdGVzPC1maWx0ZXIoY29sb3IsIFNwZWNpZXMgPT0gIlBvcml0ZXMgY29tcHJlc3NhIikNCmFsbGNvbG9yc3VtcG9yaXRlcw0KYWxsY29sb3JzdW1tb250aXBvcmE8LWZpbHRlcihjb2xvciwgU3BlY2llcyA9PSAiTW9udGlwb3JhIGNhcGl0YXRhIikNCmFsbGNvbG9yc3VtbW9udGlwb3JhDQpgYGANCg0KI1Bvcml0ZXMgRFJNIG1vZGVsDQpgYGB7cn0NCmxpYnJhcnkoZHJjKQ0Kc3Rocy5kcmMucG9yIDwtIGRybShDb2xvcl9hdmd+VGVtcGVyYXR1cmUsIGZjdD1MTC4zKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBhbGxjb2xvcnN1bXBvcml0ZXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnZlaWQgPSBCbGVhY2gpDQpzdGhzLmRyYy5wb3IyIDwtIGRybShDb2xvcl9hdmd+VGVtcGVyYXR1cmUsIGZjdD1MLjMoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGFsbGNvbG9yc3VtcG9yaXRlcywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VydmVpZCA9IEJsZWFjaCkNCnN1bW1hcnkoc3Rocy5kcmMucG9yKSMgcnVuIG1vZGVsLg0KcGxvdChzdGhzLmRyYy5wb3IpDQplZDUwPC1FRChzdGhzLmRyYy5wb3IsIDUwLCBpbnRlcnZhbD0iZGVsdGEiKQ0KZWQ1MA0KYGBgDQoNCg0KYGBge3J9DQpBSUNjKHN0aHMuZHJjLnBvciwgc3Rocy5kcmMucG9yMikNCmBgYA0KDQpgYGB7cn0NCiMjQ3JlYXRlIHByZWRpY3Rpb25zIGRhdGEgZnJhbWUNCm5ld2RhdGEgPSB3aXRoKGFsbGNvbG9yc3VtcG9yaXRlcywgDQogICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZC5ncmlkKEJsZWFjaCA9IGxldmVscyhCbGVhY2gpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcGVyYXR1cmU9c2VxKG1pbihUZW1wZXJhdHVyZSwgbmEucm09VFJVRSksIG1heChUZW1wZXJhdHVyZSwgbmEucm09VFJVRSkrIDEsIDAuMSkpKQ0KcHJlZDwtIGFzLmRhdGEuZnJhbWUocHJlZGljdChzdGhzLmRyYy5wb3IsIG5ld2RhdGE9bmV3ZGF0YSwgaW50ZXJ2YWwgPSAiY29uZmlkZW5jZSIsIGxldmVsPTAuOTUpKQ0KI25ld2RhdGEgPSBkYXRhLmZyYW1lKG5ld2RhdGEsIGZ2Zm0gPSBuZXdkYXRhJFByZWRpY3Rpb24sIExvd2VyID0gbmV3ZGF0YSRMb3dlciwgVXBwZXIgPSBuZXdkYXRhJFVwcGVyKQ0KcHJlZCRCbGVhY2ggPSBuZXdkYXRhJEJsZWFjaA0KcHJlZCRUZW1wZXJhdHVyZSA9IG5ld2RhdGEkVGVtcGVyYXR1cmUNCnByZWQuYXZlcmFnZSA9IHByZWQgJT4lIA0KICBncm91cF9ieShCbGVhY2gsVGVtcGVyYXR1cmUpICU+JSANCiAgc3VtbWFyaXNlX2FsbCguZnVucz1tZWFuKQ0KcHJlZC5hdmVyYWdlDQpgYGANCmBgYHtyfQ0KZWQ1MHA8LXJlYWQuY3N2KCIvVXNlcnMvaW1rcmkvRGVza3RvcC9QZW5uIFBvc3Rkb2MvSGF3YWlpL1Bvcml0ZXMgZWQ1MCBjb2xvci5jc3YiKQ0KZWQ1MHAkQmxlYWNoPC1hcy5mYWN0b3IoZWQ1MG0kQmxlYWNoKQ0KZWQ1MHANCmBgYA0KDQpgYGB7cn0NCmNvbG9yLmZpZy5wb3I8LWdncGxvdChwcmVkLmF2ZXJhZ2UsIGFlcyh5PVByZWRpY3Rpb24sIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsNCiAgYW5ub3RhdGUoInJlY3QiLHhtaW49MzMuODMwNCwgeG1heD0zNC45MzE1MiwgeW1pbj0tSW5mLCB5bWF4PUluZixmaWxsID0iI0RGRDNCOSIsIGFscGhhID0gMC4yKSsNCiAgYW5ub3RhdGUoInJlY3QiLCB4bWluPTM0LjQ1NTI0LCB4bWF4PTM0Ljc5MDksIHltaW49LUluZiwgeW1heD1JbmYsICBmaWxsPSAiIzc5NjMzNCIsICBhbHBoYSA9IDAuMSkgKw0KICBnZW9tX2xpbmUoc2l6ZT0xKSsNCiAgZ2VvbV9wb2ludChkYXRhPWFsbGNvbG9yc3VtcG9yaXRlcywgYWVzKHk9Q29sb3JfYXZnLCB4PVRlbXBlcmF0dXJlLCBjb2xvcj1CbGVhY2gpLGFscGhhPTAuMyxwb3NpdGlvbj1wb3NpdGlvbl9qaXR0ZXJkb2RnZSgwLjA1KSkrDQogIGdlb21fcmliYm9uKGFlcyh5bWluID0gTG93ZXIsIHltYXggPSBVcHBlciwgZmlsbCA9IEJsZWFjaCksIGFscGhhID0gMC41LCBzaG93LmxlZ2VuZCA9IEZBTFNFKSArDQogICNnZW9tX3NlZ21lbnQoZGF0YSA9IGVkNTBwLCBhZXMoeT1Fc3RpbWF0ZSx5ZW5kPS0wLjEsIHhlbmQ9ZWQ1MCwgeCA9IGVkNTAsIGNvbG9yPUJsZWFjaCksbGluZXR5cGUgPSAxLCBzaXplID0gMS41KSsNCiAgI2dlb21fcG9pbnQoZGF0YSA9IGVkNTBwLCBhZXMoeT1Fc3RpbWF0ZSwgeCA9IGVkNTApLHNpemU9MykrDQogICNnZW9tX3BvaW50KHNpemU9MSwgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC41KSxzdGF0PSJpZGVudGl0eSIpKw0KICAjZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1QcmVkaWN0aW9uLUxvd2VyLCB5bWF4PVByZWRpY3Rpb24rVXBwZXIsIHdpZHRoPSAwLjUpLCAgcG9zaXRpb249cG9zaXRpb25fZG9kZ2UoMC41KSxzdGF0PSJpZGVudGl0eSIpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsgI01hbnVhbGx5IGNob29zZSB0aGUgY29sb3JzDQogIHNjYWxlX3hfY29udGludW91cyhleHByZXNzaW9uKFRlbXBlcmF0dXJlfihkZWdyZWV+QykpLCBsaW1pdHM9YygyNywzOCksYnJlYWtzPWMoMjcsMjksMzEsMzMsMzUsMzcpKSsNCiAgI3NjYWxlX3lfY29udGludW91cyhleHByZXNzaW9uKENvbG9yfnNjb3JlKSxsaW1pdHM9YygtLjI1LDEuMSksIGJyZWFrcz1jKC0wLjI1LDAsLjI1LC41LC43NSwxLjApKSsgIA0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAzNC42MjMwNywgbGluZXR5cGUgPSAyLCBzaXplPTEsIGFscGhhID0gMC44LCBjb2xvciA9ICIjREZEM0I5IikgKw0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAzNC4zODA5NiwgbGluZXR5cGUgPSAyLCBzaXplPTEsYWxwaGEgPSAwLjgsIGNvbG9yID0gIiM3OTYzMzQiKSArDQogICNnZW9tX3BvaW50KGRhdGEgPSBlZDUwcCwgYWVzKHk9RXN0aW1hdGUsIHggPSBlZDUwLGNvbG9yPUJsZWFjaCxmaWxsPUJsZWFjaCksc2l6ZT00LCBzaGFwZT0xNykrDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMikpDQpjb2xvci5maWcucG9yDQpgYGANCmBgYHtyfQ0KY29sb3IuZmlnLnBvcjI8LWdncGxvdChwcmVkLmF2ZXJhZ2UsIGFlcyh5PVByZWRpY3Rpb24sIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogIGdlb21fbGluZShzaXplPTEpKw0KICAjZ2VvbV9zZWdtZW50KGRhdGEgPSBlZDUwcCwgYWVzKHk9RXN0aW1hdGUseWVuZD0wLCB4ZW5kPWVkNTAsIHggPSBlZDUwLCBjb2xvcj1CbGVhY2gpLGxpbmV0eXBlID0gMSwgc2l6ZSA9IC41KSsNCiAgI2dlb21fcG9pbnQoZGF0YSA9IGVkNTBwLCBhZXMoeT1Fc3RpbWF0ZSwgeCA9IGVkNTApLHNpemU9MSkrDQogIGdlb21fcG9pbnQoZGF0YT1hbGxjb2xvcnN1bXBvcml0ZXMsIGFlcyh5PUNvbG9yX2F2ZywgeD1UZW1wZXJhdHVyZSwgY29sb3I9QmxlYWNoKSxhbHBoYT0wLjMscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoMC4wNSkpKw0KICAjZ2VvbV9yaWJib24oYWVzKHltaW4gPSBMb3dlciwgeW1heCA9IFVwcGVyLCBmaWxsID0gQmxlYWNoKSwgYWxwaGEgPSAwLjUsIHNob3cubGVnZW5kID0gRkFMU0UpICsNCiAgI2dlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX2Vycm9yYmFyKGFlcyh5bWluPVByZWRpY3Rpb24tTG93ZXIsIHltYXg9UHJlZGljdGlvbitVcHBlciwgd2lkdGg9IDAuNSksICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfeF9jb250aW51b3VzKGV4cHJlc3Npb24oVGVtcGVyYXR1cmV+KGRlZ3JlZX5DKSksIGxpbWl0cz1jKDI3LDM4KSxicmVha3M9YygyNywyOSwzMSwzMywzNSwzNykpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDb2xvcn5zY29yZSkpKyAgDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPSJub25lIiwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMikpDQpjb2xvci5maWcucG9yMg0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShkcmMpDQpzdGhzLmRyYy5tb24gPC0gZHJtKENvbG9yX2F2Z35UZW1wZXJhdHVyZSwgZmN0PUxMLjMoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGFsbGNvbG9yc3VtbW9udGlwb3JhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ2ZWlkID0gQmxlYWNoKQ0Kc3VtbWFyeShzdGhzLmRyYy5tb24pIyBydW4gbW9kZWwuDQpwbG90KHN0aHMuZHJjLm1vbikNCmVkNTA8LUVEKHN0aHMuZHJjLm1vbiwgNTAsIGludGVydmFsPSJkZWx0YSIpDQplZDUwDQpgYGANCmBgYHtyfQ0KIyNDcmVhdGUgcHJlZGljdGlvbnMgZGF0YSBmcmFtZQ0KbmV3ZGF0YSA9IHdpdGgoYWxsY29sb3JzdW1tb250aXBvcmEsIA0KICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZC5ncmlkKEJsZWFjaCA9IGxldmVscyhCbGVhY2gpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcGVyYXR1cmU9c2VxKG1pbihUZW1wZXJhdHVyZSwgbmEucm09VFJVRSksIG1heChUZW1wZXJhdHVyZSwgbmEucm09VFJVRSkrIDEsIDAuMSkpKQ0KcHJlZDwtIGFzLmRhdGEuZnJhbWUocHJlZGljdChzdGhzLmRyYy5tb24sIG5ld2RhdGE9bmV3ZGF0YSwgaW50ZXJ2YWwgPSAiY29uZmlkZW5jZSIsIGxldmVsPTAuOTUpKQ0KI25ld2RhdGEgPSBkYXRhLmZyYW1lKG5ld2RhdGEsIGZ2Zm0gPSBuZXdkYXRhJFByZWRpY3Rpb24sIExvd2VyID0gbmV3ZGF0YSRMb3dlciwgVXBwZXIgPSBuZXdkYXRhJFVwcGVyKQ0KcHJlZCRCbGVhY2ggPSBuZXdkYXRhJEJsZWFjaA0KcHJlZCRUZW1wZXJhdHVyZSA9IG5ld2RhdGEkVGVtcGVyYXR1cmUNCnByZWQuYXZlcmFnZSA9IHByZWQgJT4lIA0KICBncm91cF9ieShCbGVhY2gsVGVtcGVyYXR1cmUpICU+JSANCiAgc3VtbWFyaXNlX2FsbCguZnVucz1tZWFuKQ0KcHJlZC5hdmVyYWdlDQpgYGANCg0KYGBge3J9DQplZDUwbTwtcmVhZC5jc3YoIi9Vc2Vycy9pbWtyaS9EZXNrdG9wL1Blbm4gUG9zdGRvYy9IYXdhaWkvTW9udGlwb3JhIGVkNTAgY29sb3IuY3N2IikNCmVkNTBtJEJsZWFjaDwtYXMuZmFjdG9yKGVkNTBtJEJsZWFjaCkNCmVkNTBtDQpgYGANCg0KDQpgYGB7cn0NCmNvbG9yLmZpZy5tb248LWdncGxvdChwcmVkLmF2ZXJhZ2UsIGFlcyh5PVByZWRpY3Rpb24sIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCwgZmlsbD1CbGVhY2gpKSsgDQogICNnZW9tX3NlZ21lbnQoZGF0YSA9IGVkNTBtLCBhZXMoeT1Fc3RpbWF0ZSx5ZW5kPS0uMTAsIHhlbmQ9ZWQ1MCwgeCA9IGVkNTAsIGNvbG9yPUJsZWFjaCksbGluZXR5cGUgPSAxLCBzaXplID0xLjUpKw0KICBnZW9tX2xpbmUoc2l6ZT0xKSsNCiAgYW5ub3RhdGUoInJlY3QiLHhtaW49MzMuNzgzOTEsIHhtYXg9MzQuNjU5MDMsIHltaW49LUluZiwgeW1heD1JbmYsZmlsbCA9IiNERkQzQjkiLCBhbHBoYSA9IDAuMikrDQogIGFubm90YXRlKCJyZWN0IiwgeG1pbj0zNC4xNTQ1LCB4bWF4PTM0LjkxOTcyLCB5bWluPS1JbmYsIHltYXg9SW5mLCAgZmlsbD0gIiM3OTYzMzQiLCAgYWxwaGEgPSAwLjEpICsNCiAgZ2VvbV9wb2ludChkYXRhPWFsbGNvbG9yc3VtbW9udGlwb3JhLCBhZXMoeT1Db2xvcl9hdmcsIHg9VGVtcGVyYXR1cmUsIGNvbG9yPUJsZWFjaCksYWxwaGE9MC4zLHBvc2l0aW9uPXBvc2l0aW9uX2ppdHRlcmRvZGdlKDAuMDUpKSsNCiAgZ2VvbV9yaWJib24oYWVzKHltaW4gPSBMb3dlciwgeW1heCA9IFVwcGVyLCBmaWxsID0gQmxlYWNoKSwgYWxwaGEgPSAwLjUsIHNob3cubGVnZW5kID0gRkFMU0UpICsNCiAgI2dlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX2Vycm9yYmFyKGFlcyh5bWluPVByZWRpY3Rpb24tTG93ZXIsIHltYXg9UHJlZGljdGlvbitVcHBlciwgd2lkdGg9IDAuNSksICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfeF9jb250aW51b3VzKGV4cHJlc3Npb24oVGVtcGVyYXR1cmV+KGRlZ3JlZX5DKSksIGxpbWl0cz1jKDI3LDM4KSxicmVha3M9YygyNywyOSwzMSwzMywzNSwzNykpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDb2xvcn5zY29yZSksbGltaXRzPWMoLS4yNSwxLjEpLGJyZWFrcz1jKC0wLjI1LDAsLjI1LC41LC43NSwxLjApKSsgIA0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAzNC4yMjE0NywgbGluZXR5cGUgPSAyLCBzaXplPTEsIGFscGhhID0gMC44LCBjb2xvciA9ICIjREZEM0I5IikgKw0KICAjZ2VvbV9yZWN0KGFlcyh4bWluPTMzLjM0OTYxLCB4bWF4PTM1LjA5MzMyLCB5bWluPUluZiwgeW1heD1JbmYpLCBhbHBoYSA9IDAuOCxjb2xvciA9ICIjREZEM0I5IixmaWxsID0gIiNERkQzQjkiKSsNCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gMzQuNTM3MTEsIGxpbmV0eXBlID0gMiwgc2l6ZT0xLGFscGhhID0gMC44LCBjb2xvciA9ICIjNzk2MzM0IikgKw0KICAjZ2VvbV9wb2ludChkYXRhID0gZWQ1MG0sIGFlcyh5PUVzdGltYXRlLCB4ID0gZWQ1MCxjb2xvcj1CbGVhY2gsZmlsbD1CbGVhY2gpLHNpemU9NCwgc2hhcGU9MTcpKw0KICAjc2NhbGVfY29sb3JfbWFudWFsKCJCbGVhY2giLCB2YWx1ZXM9YygiQmxlYWNoIj0gJyNERkQzQjknLCJOb24tYmxlYWNoIj0nIzc5NjMzNCcpKSsNCiAgdGhlbWVfY2xhc3NpYygpKw0KICB0aGVtZShheGlzLnRleHQueD1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50ZXh0Lnk9ZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueD1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGF4aXMudGl0bGUueT1lbGVtZW50X3RleHQoc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMiksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbj1jKDAuMTUsMC4yKSwNCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZD0gZWxlbWVudF9yZWN0KGZpbGw9TkEsIGNvbG9yPSdibGFjaycpLA0KICAgICAgICBzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHZqdXN0PTAuNSwgc2l6ZT0xMikpDQpjb2xvci5maWcubW9uDQpgYGANCg0KYGBge3J9DQpjb2xvci5maWcubW9uMjwtZ2dwbG90KHByZWQuYXZlcmFnZSwgYWVzKHk9UHJlZGljdGlvbiwgeD1UZW1wZXJhdHVyZSwgY29sb3I9QmxlYWNoLCBmaWxsPUJsZWFjaCkpKyANCiAgZ2VvbV9saW5lKHNpemU9MSkrDQogICNnZW9tX3NlZ21lbnQoZGF0YSA9IGVkNTBtLCBhZXMoeT1Fc3RpbWF0ZSx5ZW5kPTAsIHhlbmQ9ZWQ1MCwgeCA9IGVkNTAsIGNvbG9yPUJsZWFjaCksbGluZXR5cGUgPSAxLCBzaXplID0gMikrDQogICNnZW9tX3BvaW50KGRhdGEgPSBlZDUwbSwgYWVzKHk9RXN0aW1hdGUsIHggPSBlZDUwKSxzaXplPTMpKw0KICBnZW9tX3BvaW50KGRhdGE9YWxsY29sb3JzdW1tb250aXBvcmEsIGFlcyh5PUNvbG9yX2F2ZywgeD1UZW1wZXJhdHVyZSwgY29sb3I9QmxlYWNoKSxhbHBoYT0wLjMscG9zaXRpb249cG9zaXRpb25faml0dGVyZG9kZ2UoMC4wNSkpKw0KICAjZ2VvbV9yaWJib24oYWVzKHltaW4gPSBMb3dlciwgeW1heCA9IFVwcGVyLCBmaWxsID0gQmxlYWNoKSwgYWxwaGEgPSAwLjUsIHNob3cubGVnZW5kID0gRkFMU0UpICsNCiAgI2dlb21fcG9pbnQoc2l6ZT0xLCBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikrDQogICNnZW9tX2Vycm9yYmFyKGFlcyh5bWluPVByZWRpY3Rpb24tTG93ZXIsIHltYXg9UHJlZGljdGlvbitVcHBlciwgd2lkdGg9IDAuNSksICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSgwLjUpLHN0YXQ9ImlkZW50aXR5IikgKw0KICBzY2FsZV9maWxsX21hbnVhbCgiQmxlYWNoIiwgdmFsdWVzPWMoIkJsZWFjaCI9ICcjREZEM0I5JywiTm9uLWJsZWFjaCI9JyM3OTYzMzQnKSkrICNNYW51YWxseSBjaG9vc2UgdGhlIGNvbG9ycw0KICBzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKyAjTWFudWFsbHkgY2hvb3NlIHRoZSBjb2xvcnMNCiAgc2NhbGVfeF9jb250aW51b3VzKGV4cHJlc3Npb24oVGVtcGVyYXR1cmV+KGRlZ3JlZX5DKSksIGxpbWl0cz1jKDI3LDM4KSxicmVha3M9YygyNywyOSwzMSwzMywzNSwzNykpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwcmVzc2lvbihDb2xvcn5zY29yZSkpKyAgDQogICNzY2FsZV9jb2xvcl9tYW51YWwoIkJsZWFjaCIsIHZhbHVlcz1jKCJCbGVhY2giPSAnI0RGRDNCOScsIk5vbi1ibGVhY2giPScjNzk2MzM0JykpKw0KICB0aGVtZV9jbGFzc2ljKCkrDQogIHRoZW1lKGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dCh2anVzdD0wLjUsIHNpemU9MTIpLA0KICAgICAgICBheGlzLnRleHQueT1lbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS54PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgYXhpcy50aXRsZS55PWVsZW1lbnRfdGV4dChzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uPWMoMC4xNSwwLjIpLA0KICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kPSBlbGVtZW50X3JlY3QoZmlsbD1OQSwgY29sb3I9J2JsYWNrJyksDQogICAgICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQodmp1c3Q9MC41LCBzaXplPTEyKSkNCmNvbG9yLmZpZy5tb24yDQpgYGANCg0KYGBge3J9DQpjb2xvcmZpZ3M8LWNvd3Bsb3Q6OnBsb3RfZ3JpZChjb2xvci5maWcubW9uLCBjb2xvci5maWcucG9yLCBucm93ID0gMSwgbmNvbCA9IDIpDQpjb2xvcmZpZ3MNCmBgYA0KYGBge3J9DQpjb2xvcmZpZ3MyPC1jb3dwbG90OjpwbG90X2dyaWQoY29sb3IuZmlnLm1vbjIsIGNvbG9yLmZpZy5wb3IyLCBucm93ID0gMSwgbmNvbCA9IDIpDQpjb2xvcmZpZ3MyDQpgYGANCg0KYGBge3J9DQpob2JvMjwtY293cGxvdDo6cGxvdF9ncmlkKFNUSFNfaG9ib190ZW1wLFNUSFNfaG9ib190ZW1wLCBucm93ID0gMiwgbmNvbCA9IDEpDQpob2JvMg0KYGBgDQoNCg0KYGBge3J9DQpwYW1jb2xvcmZpZ3NhbGw8LWNvd3Bsb3Q6OnBsb3RfZ3JpZChwYW0uZmlnLm1vbixwYW0uZmlnLnBvciwgY29sb3IuZmlnLm1vbiwgY29sb3IuZmlnLnBvcixwYW0uZmlnLm1vbixwYW0uZmlnLnBvciwgY29sb3IuZmlnLm1vbiwgY29sb3IuZmlnLnBvcixucm93ID0gNCwgbmNvbCA9IDMpDQpwYW1jb2xvcmZpZ3NhbGwNCmBgYA0KDQpgYGB7cn0NCnBhbWNvbG9yZmlnc3dpdGh0ZW1wPC1jb3dwbG90OjpwbG90X2dyaWQoU1RIU19ob2JvX3RlbXAscGFtY29sb3JmaWdzYWxsLG5yb3cgPSAxLCBuY29sID0gMiwgcmVsX3dpZHRocyA9IGMoMSwyKSkNCnBhbWNvbG9yZmlnc3dpdGh0ZW1wDQpgYGANCg==